Show More
@@ -242,7 +242,7 b' def changelog(web, req, tmpl, shortlog=F' | |||||
242 | pos = end - 1 |
|
242 | pos = end - 1 | |
243 | parity = paritygen(web.stripecount, offset=start - end) |
|
243 | parity = paritygen(web.stripecount, offset=start - end) | |
244 |
|
244 | |||
245 |
changenav = webutil.revnav(web.repo |
|
245 | changenav = webutil.revnav(web.repo).gen(pos, revcount, count) | |
246 |
|
246 | |||
247 | return tmpl(shortlog and 'shortlog' or 'changelog', changenav=changenav, |
|
247 | return tmpl(shortlog and 'shortlog' or 'changelog', changenav=changenav, | |
248 | node=ctx.hex(), rev=pos, changesets=count, |
|
248 | node=ctx.hex(), rev=pos, changesets=count, | |
@@ -771,8 +771,8 b' def filelog(web, req, tmpl):' | |||||
771 | for e in reversed(l): |
|
771 | for e in reversed(l): | |
772 | yield e |
|
772 | yield e | |
773 |
|
773 | |||
774 | nodefunc = lambda x: fctx.filectx(fileid=x) |
|
774 | revnav = webutil.filerevnav(web.repo, fctx.path()) | |
775 |
nav = |
|
775 | nav = revnav.gen(end - 1, revcount, count) | |
776 | return tmpl("filelog", file=f, node=fctx.hex(), nav=nav, |
|
776 | return tmpl("filelog", file=f, node=fctx.hex(), nav=nav, | |
777 | entries=lambda **x: entries(latestonly=False, **x), |
|
777 | entries=lambda **x: entries(latestonly=False, **x), | |
778 | latestentry=lambda **x: entries(latestonly=True, **x), |
|
778 | latestentry=lambda **x: entries(latestonly=True, **x), | |
@@ -851,7 +851,7 b' def graph(web, req, tmpl):' | |||||
851 |
|
851 | |||
852 | uprev = min(max(0, count - 1), rev + revcount) |
|
852 | uprev = min(max(0, count - 1), rev + revcount) | |
853 | downrev = max(0, rev - revcount) |
|
853 | downrev = max(0, rev - revcount) | |
854 |
changenav = webutil.revnav(web.repo |
|
854 | changenav = webutil.revnav(web.repo).gen(pos, revcount, count) | |
855 |
|
855 | |||
856 | dag = graphmod.dagwalker(web.repo, range(start, end)[::-1]) |
|
856 | dag = graphmod.dagwalker(web.repo, range(start, end)[::-1]) | |
857 | tree = list(graphmod.colored(dag, web.repo)) |
|
857 | tree = list(graphmod.colored(dag, web.repo)) |
@@ -41,23 +41,24 b' def _navseq(step, firststep=None):' | |||||
41 |
|
41 | |||
42 | class revnav(object): |
|
42 | class revnav(object): | |
43 |
|
43 | |||
44 |
def __init__(self, |
|
44 | def __init__(self, repo): | |
45 | """Navigation generation object |
|
45 | """Navigation generation object | |
46 |
|
46 | |||
47 | :nodefun: factory for a changectx from a revision |
|
47 | :repo: repo object we generate nav for | |
48 | """ |
|
48 | """ | |
49 | self.nodefunc = nodefunc |
|
49 | # used for hex generation | |
|
50 | self._revlog = repo.changelog | |||
50 |
|
51 | |||
51 | def __nonzero__(self): |
|
52 | def __nonzero__(self): | |
52 | """return True if any revision to navigate over""" |
|
53 | """return True if any revision to navigate over""" | |
53 | try: |
|
54 | try: | |
54 |
self.node |
|
55 | self._revlog.node(0) | |
55 | return True |
|
56 | return True | |
56 | except error.RepoError: |
|
57 | except error.RepoError: | |
57 | return False |
|
58 | return False | |
58 |
|
59 | |||
59 | def hex(self, rev): |
|
60 | def hex(self, rev): | |
60 |
return self.node |
|
61 | return hex(self._revlog.node(rev)) | |
61 |
|
62 | |||
62 | def gen(self, pos, pagelen, limit): |
|
63 | def gen(self, pos, pagelen, limit): | |
63 | """computes label and revision id for navigation link |
|
64 | """computes label and revision id for navigation link | |
@@ -94,7 +95,21 b' class revnav(object):' | |||||
94 | 'after': lambda **map: (data(i) for i in navafter)},) |
|
95 | 'after': lambda **map: (data(i) for i in navafter)},) | |
95 |
|
96 | |||
96 | class filerevnav(revnav): |
|
97 | class filerevnav(revnav): | |
97 | pass |
|
98 | ||
|
99 | def __init__(self, repo, path): | |||
|
100 | """Navigation generation object | |||
|
101 | ||||
|
102 | :repo: repo object we generate nav for | |||
|
103 | :path: path of the file we generate nav for | |||
|
104 | """ | |||
|
105 | # used for iteration | |||
|
106 | self._changelog = repo.unfiltered().changelog | |||
|
107 | # used for hex generation | |||
|
108 | self._revlog = repo.file(path) | |||
|
109 | ||||
|
110 | def hex(self, rev): | |||
|
111 | return hex(self._changelog.node(self._revlog.linkrev(rev))) | |||
|
112 | ||||
98 |
|
113 | |||
99 | def _siblings(siblings=[], hiderev=None): |
|
114 | def _siblings(siblings=[], hiderev=None): | |
100 | siblings = [s for s in siblings if s.node() != nullid] |
|
115 | siblings = [s for s in siblings if s.node() != nullid] |
General Comments 0
You need to be logged in to leave comments.
Login now