Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hgweb.py @ 1606:ba625c8083d8
- duplicate the parent link logic to show child links
- don't show trivial parent or children links
author | Muli Ben-Yehuda <mulix@mulix.org> |
---|---|
date | Thu, 29 Dec 2005 14:51:29 -0600 |
parents | 85803ec2daab |
children | ff339dd21976 |
line wrap: on
line diff
--- a/mercurial/hgweb.py Wed Dec 28 07:22:26 2005 -0800 +++ b/mercurial/hgweb.py Thu Dec 29 14:51:29 2005 -0600 @@ -212,14 +212,14 @@ if len(files) > self.maxfiles: yield self.t("fileellipses") - def parents(self, node, parents=[], rev=None, hide=False, **args): + def siblings(self, siblings=[], rev=None, hiderev=None, **args): if not rev: rev = lambda x: "" - parents = [p for p in parents if p != nullid] - if hide and len(parents) == 1 and rev(parents[0]) == rev(node) - 1: + siblings = [s for s in siblings if s != nullid] + if len(siblings) == 1 and rev(siblings[0]) == hiderev: return - for p in parents: - yield dict(node=hex(p), rev=rev(p), **args) + for s in siblings: + yield dict(node=hex(s), rev=rev(s), **args) def showtag(self, t1, node=nullid, **args): for t in self.repo.nodetags(node): @@ -321,8 +321,10 @@ l.insert(0, {"parity": parity, "author": changes[1], - "parent": self.parents(n, cl.parents(n), cl.rev, - hide=True), + "parent": self.siblings(cl.parents(n), cl.rev, + cl.rev(n) - 1), + "child": self.siblings(cl.children(n), cl.rev, + cl.rev(n) + 1), "changelogtag": self.showtag("changelogtag",n), "manifest": hex(changes[0]), "desc": changes[4], @@ -382,7 +384,8 @@ yield self.t('searchentry', parity=count & 1, author=changes[1], - parent=self.parents(n, cl.parents(n), cl.rev), + parent=self.siblings(cl.parents(n), cl.rev), + child=self.siblings(cl.children(n), cl.rev), changelogtag=self.showtag("changelogtag",n), manifest=hex(changes[0]), desc=changes[4], @@ -422,7 +425,8 @@ diff=diff, rev=cl.rev(n), node=nodeid, - parent=self.parents(n, cl.parents(n), cl.rev), + parent=self.siblings(cl.parents(n), cl.rev), + child=self.siblings(cl.children(n), cl.rev), changesettag=self.showtag("changesettag",n), manifest=hex(changes[0]), author=changes[1], @@ -454,7 +458,9 @@ "node": hex(cn), "author": cs[1], "date": cs[2], - "parent": self.parents(n, fl.parents(n), + "parent": self.siblings(fl.parents(n), + fl.rev, file=f), + "child": self.siblings(fl.children(n), fl.rev, file=f), "desc": cs[4]}) parity = 1 - parity @@ -498,7 +504,8 @@ manifest=hex(mfn), author=cs[1], date=cs[2], - parent=self.parents(n, fl.parents(n), fl.rev, file=f), + parent=self.siblings(fl.parents(n), fl.rev, file=f), + child=self.siblings(fl.children(n), fl.rev, file=f), permissions=self.repo.manifest.readflags(mfn)[f]) def fileannotate(self, f, node): @@ -550,7 +557,8 @@ manifest=hex(mfn), author=cs[1], date=cs[2], - parent=self.parents(n, fl.parents(n), fl.rev, file=f), + parent=self.siblings(fl.parents(n), fl.rev, file=f), + child=self.siblings(fl.children(n), fl.rev, file=f), permissions=self.repo.manifest.readflags(mfn)[f]) def manifest(self, mnode, path): @@ -727,7 +735,8 @@ filenode=hex(mf.get(file, nullid)), node=changeset, rev=self.repo.changelog.rev(n), - parent=self.parents(n, cl.parents(n), cl.rev), + parent=self.siblings(cl.parents(n), cl.rev), + child=self.siblings(cl.children(n), cl.rev), diff=diff) def archive(self, req, cnode, type):