Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hgweb/webcommands.py @ 19487:8cfa3a3664a5 stable
hgweb: fix incorrect revisions count in graph (issue3977)
Actual amount of revisions is used now instead of their numbers in the repo
before to deal with skipped numbers correctly.
author | Alexander Plavin <me@aplavin.ru> |
---|---|
date | Thu, 25 Jul 2013 02:41:22 +0400 |
parents | 002b711a3e8a |
children | e111d5e6bbbd |
comparison
equal
deleted
inserted
replaced
19486:002b711a3e8a | 19487:8cfa3a3664a5 |
---|---|
873 morevars = copy.copy(tmpl.defaults['sessionvars']) | 873 morevars = copy.copy(tmpl.defaults['sessionvars']) |
874 morevars['revcount'] = revcount * 2 | 874 morevars['revcount'] = revcount * 2 |
875 | 875 |
876 count = len(web.repo) | 876 count = len(web.repo) |
877 pos = rev | 877 pos = rev |
878 start = max(0, pos - revcount + 1) | |
879 end = pos + 1 | |
880 | 878 |
881 uprev = min(max(0, count - 1), rev + revcount) | 879 uprev = min(max(0, count - 1), rev + revcount) |
882 downrev = max(0, rev - revcount) | 880 downrev = max(0, rev - revcount) |
883 changenav = webutil.revnav(web.repo).gen(pos, revcount, count) | 881 changenav = webutil.revnav(web.repo).gen(pos, revcount, count) |
884 | 882 |
885 tree = [] | 883 tree = [] |
886 if start < end: | 884 if pos != -1: |
887 revs = list(web.repo.changelog.revs(end - 1, start)) | 885 allrevs = web.repo.changelog.revs(pos, 0) |
886 revs = [] | |
887 for i in allrevs: | |
888 revs.append(i) | |
889 if len(revs) >= revcount: | |
890 break | |
891 | |
888 dag = graphmod.dagwalker(web.repo, revs) | 892 dag = graphmod.dagwalker(web.repo, revs) |
889 tree = list(graphmod.colored(dag, web.repo)) | 893 tree = list(graphmod.colored(dag, web.repo)) |
890 | 894 |
891 def getcolumns(tree): | 895 def getcolumns(tree): |
892 cols = 0 | 896 cols = 0 |