196 for f in files[:self.maxfiles]: |
196 for f in files[:self.maxfiles]: |
197 yield self.t("filedifflink", node=hex(changeset), file=f) |
197 yield self.t("filedifflink", node=hex(changeset), file=f) |
198 if len(files) > self.maxfiles: |
198 if len(files) > self.maxfiles: |
199 yield self.t("fileellipses") |
199 yield self.t("fileellipses") |
200 |
200 |
201 def parents(self, t1, nodes=[], rev=None,**args): |
201 def parents(self, node, parents=[], rev=None, hide=False, **args): |
202 if not rev: |
202 if not rev: |
203 rev = lambda x: "" |
203 rev = lambda x: "" |
204 for node in nodes: |
204 parents = [p for p in parents if p != nullid] |
205 if node != nullid: |
205 if hide and len(parents) == 1 and rev(parents[0]) == rev(node) - 1: |
206 yield self.t(t1, node=hex(node), rev=rev(node), **args) |
206 return |
|
207 for p in parents: |
|
208 yield dict(node=hex(p), rev=rev(p), **args) |
207 |
209 |
208 def showtag(self, t1, node=nullid, **args): |
210 def showtag(self, t1, node=nullid, **args): |
209 for t in self.repo.nodetags(node): |
211 for t in self.repo.nodetags(node): |
210 yield self.t(t1, tag=t, **args) |
212 yield self.t(t1, tag=t, **args) |
211 |
213 |
303 changes = cl.read(n) |
305 changes = cl.read(n) |
304 hn = hex(n) |
306 hn = hex(n) |
305 |
307 |
306 l.insert(0, {"parity": parity, |
308 l.insert(0, {"parity": parity, |
307 "author": changes[1], |
309 "author": changes[1], |
308 "parent": self.parents("changelogparent", |
310 "parent": self.parents(n, cl.parents(n), cl.rev, |
309 cl.parents(n), cl.rev), |
311 hide=True), |
310 "changelogtag": self.showtag("changelogtag",n), |
312 "changelogtag": self.showtag("changelogtag",n), |
311 "manifest": hex(changes[0]), |
313 "manifest": hex(changes[0]), |
312 "desc": changes[4], |
314 "desc": changes[4], |
313 "date": changes[2], |
315 "date": changes[2], |
314 "files": self.listfilediffs(changes[3], n), |
316 "files": self.listfilediffs(changes[3], n), |
364 hn = hex(n) |
366 hn = hex(n) |
365 |
367 |
366 yield self.t('searchentry', |
368 yield self.t('searchentry', |
367 parity=count & 1, |
369 parity=count & 1, |
368 author=changes[1], |
370 author=changes[1], |
369 parent=self.parents("changelogparent", |
371 parent=self.parents(n, cl.parents(n), cl.rev), |
370 cl.parents(n), cl.rev), |
|
371 changelogtag=self.showtag("changelogtag",n), |
372 changelogtag=self.showtag("changelogtag",n), |
372 manifest=hex(changes[0]), |
373 manifest=hex(changes[0]), |
373 desc=changes[4], |
374 desc=changes[4], |
374 date=changes[2], |
375 date=changes[2], |
375 files=self.listfilediffs(changes[3], n), |
376 files=self.listfilediffs(changes[3], n), |
410 |
411 |
411 yield self.t('changeset', |
412 yield self.t('changeset', |
412 diff=diff, |
413 diff=diff, |
413 rev=cl.rev(n), |
414 rev=cl.rev(n), |
414 node=nodeid, |
415 node=nodeid, |
415 parent=self.parents("changesetparent", |
416 parent=self.parents(n, cl.parents(n), cl.rev), |
416 cl.parents(n), cl.rev), |
|
417 changesettag=self.showtag("changesettag",n), |
417 changesettag=self.showtag("changesettag",n), |
418 manifest=hex(changes[0]), |
418 manifest=hex(changes[0]), |
419 author=changes[1], |
419 author=changes[1], |
420 desc=changes[4], |
420 desc=changes[4], |
421 date=changes[2], |
421 date=changes[2], |
488 rev=changerev, |
487 rev=changerev, |
489 node=hex(cn), |
488 node=hex(cn), |
490 manifest=hex(mfn), |
489 manifest=hex(mfn), |
491 author=cs[1], |
490 author=cs[1], |
492 date=cs[2], |
491 date=cs[2], |
493 parent=self.parents("filerevparent", |
492 parent=self.parents(n, fl.parents(n), fl.rev, file=f), |
494 fl.parents(n), fl.rev, file=f), |
|
495 permissions=self.repo.manifest.readflags(mfn)[f]) |
493 permissions=self.repo.manifest.readflags(mfn)[f]) |
496 |
494 |
497 def fileannotate(self, f, node): |
495 def fileannotate(self, f, node): |
498 bcache = {} |
496 bcache = {} |
499 ncache = {} |
497 ncache = {} |
541 rev=changerev, |
539 rev=changerev, |
542 node=hex(cn), |
540 node=hex(cn), |
543 manifest=hex(mfn), |
541 manifest=hex(mfn), |
544 author=cs[1], |
542 author=cs[1], |
545 date=cs[2], |
543 date=cs[2], |
546 parent=self.parents("fileannotateparent", |
544 parent=self.parents(n, fl.parents(n), fl.rev, file=f), |
547 fl.parents(n), fl.rev, file=f), |
|
548 permissions=self.repo.manifest.readflags(mfn)[f]) |
545 permissions=self.repo.manifest.readflags(mfn)[f]) |
549 |
546 |
550 def manifest(self, mnode, path): |
547 def manifest(self, mnode, path): |
551 man = self.repo.manifest |
548 man = self.repo.manifest |
552 mn = man.lookup(mnode) |
549 mn = man.lookup(mnode) |
646 yield self.t("filediff", |
643 yield self.t("filediff", |
647 file=file, |
644 file=file, |
648 filenode=hex(mf.get(file, nullid)), |
645 filenode=hex(mf.get(file, nullid)), |
649 node=changeset, |
646 node=changeset, |
650 rev=self.repo.changelog.rev(n), |
647 rev=self.repo.changelog.rev(n), |
651 parent=self.parents("filediffparent", |
648 parent=self.parents(n, cl.parents(n), cl.rev), |
652 cl.parents(n), cl.rev), |
|
653 diff=diff) |
649 diff=diff) |
654 |
650 |
655 def archive(self, req, cnode, type): |
651 def archive(self, req, cnode, type): |
656 cs = self.repo.changelog.read(cnode) |
652 cs = self.repo.changelog.read(cnode) |
657 mnode = cs[0] |
653 mnode = cs[0] |