##// END OF EJS Templates
hgweb: fix incorrect way to count revisions in log (issue3977)...
Alexander Plavin -
r19486:002b711a stable
parent child Browse files
Show More
@@ -200,38 +200,37 b' def changelog(web, req, tmpl, shortlog=F'
200 return _search(web, req, tmpl) # XXX redirect to 404 page?
200 return _search(web, req, tmpl) # XXX redirect to 404 page?
201
201
202 def changelist(latestonly, **map):
202 def changelist(latestonly, **map):
203 l = [] # build a list in forward order for efficiency
204 revs = []
203 revs = []
205 if start < end:
204 if pos != -1:
206 revs = web.repo.changelog.revs(start, end - 1)
205 revs = web.repo.changelog.revs(pos, 0)
207 if latestonly:
206 if latestonly:
208 for r in revs:
207 revs = (next(revs),)
209 pass
208 curcount = 0
210 revs = (r,)
211 for i in revs:
209 for i in revs:
212 ctx = web.repo[i]
210 ctx = web.repo[i]
213 n = ctx.node()
211 n = ctx.node()
214 showtags = webutil.showtag(web.repo, tmpl, 'changelogtag', n)
212 showtags = webutil.showtag(web.repo, tmpl, 'changelogtag', n)
215 files = webutil.listfilediffs(tmpl, ctx.files(), n, web.maxfiles)
213 files = webutil.listfilediffs(tmpl, ctx.files(), n, web.maxfiles)
216
214
217 l.append({"parity": parity.next(),
215 curcount += 1
218 "author": ctx.user(),
216 if curcount > revcount:
219 "parent": webutil.parents(ctx, i - 1),
217 break
220 "child": webutil.children(ctx, i + 1),
218 yield {"parity": parity.next(),
221 "changelogtag": showtags,
219 "author": ctx.user(),
222 "desc": ctx.description(),
220 "parent": webutil.parents(ctx, i - 1),
223 "extra": ctx.extra(),
221 "child": webutil.children(ctx, i + 1),
224 "date": ctx.date(),
222 "changelogtag": showtags,
225 "files": files,
223 "desc": ctx.description(),
226 "rev": i,
224 "extra": ctx.extra(),
227 "node": hex(n),
225 "date": ctx.date(),
228 "tags": webutil.nodetagsdict(web.repo, n),
226 "files": files,
229 "bookmarks": webutil.nodebookmarksdict(web.repo, n),
227 "rev": i,
230 "inbranch": webutil.nodeinbranch(web.repo, ctx),
228 "node": hex(n),
231 "branches": webutil.nodebranchdict(web.repo, ctx)
229 "tags": webutil.nodetagsdict(web.repo, n),
232 })
230 "bookmarks": webutil.nodebookmarksdict(web.repo, n),
233 for e in reversed(l):
231 "inbranch": webutil.nodeinbranch(web.repo, ctx),
234 yield e
232 "branches": webutil.nodebranchdict(web.repo, ctx)
233 }
235
234
236 revcount = shortlog and web.maxshortchanges or web.maxchanges
235 revcount = shortlog and web.maxshortchanges or web.maxchanges
237 if 'revcount' in req.form:
236 if 'revcount' in req.form:
@@ -246,9 +245,7 b' def changelog(web, req, tmpl, shortlog=F'
246
245
247 count = len(web.repo)
246 count = len(web.repo)
248 pos = ctx.rev()
247 pos = ctx.rev()
249 start = max(0, pos - revcount + 1)
248 parity = paritygen(web.stripecount)
250 end = pos + 1
251 parity = paritygen(web.stripecount, offset=start - end)
252
249
253 changenav = webutil.revnav(web.repo).gen(pos, revcount, count)
250 changenav = webutil.revnav(web.repo).gen(pos, revcount, count)
254
251
General Comments 0
You need to be logged in to leave comments. Login now