mercurial/hgweb/webcommands.py
changeset 31939 604d31507f86
parent 31727 6be6e4becaaf
child 32070 a298f5c61b34
equal deleted inserted replaced
31938:5e3b49defbff 31939:604d31507f86
   977     morevars['revcount'] = revcount * 2
   977     morevars['revcount'] = revcount * 2
   978 
   978 
   979     patch = 'patch' in req.form
   979     patch = 'patch' in req.form
   980     if patch:
   980     if patch:
   981         lessvars['patch'] = morevars['patch'] = req.form['patch'][0]
   981         lessvars['patch'] = morevars['patch'] = req.form['patch'][0]
       
   982     descend = 'descend' in req.form
       
   983     if descend:
       
   984         lessvars['descend'] = morevars['descend'] = req.form['descend'][0]
   982 
   985 
   983     count = fctx.filerev() + 1
   986     count = fctx.filerev() + 1
   984     start = max(0, count - revcount) # first rev on this page
   987     start = max(0, count - revcount) # first rev on this page
   985     end = min(count, start + revcount) # last rev on this page
   988     end = min(count, start + revcount) # last rev on this page
   986     parity = paritygen(web.stripecount, offset=start - end)
   989     parity = paritygen(web.stripecount, offset=start - end)
  1005     if lrange is not None:
  1008     if lrange is not None:
  1006         linerange = webutil.formatlinerange(*lrange)
  1009         linerange = webutil.formatlinerange(*lrange)
  1007         # deactivate numeric nav links when linerange is specified as this
  1010         # deactivate numeric nav links when linerange is specified as this
  1008         # would required a dedicated "revnav" class
  1011         # would required a dedicated "revnav" class
  1009         nav = None
  1012         nav = None
  1010         ancestors = context.blockancestors(fctx, *lrange)
  1013         if descend:
  1011         for i, (c, lr) in enumerate(ancestors, 1):
  1014             it = context.blockdescendants(fctx, *lrange)
       
  1015         else:
       
  1016             it = context.blockancestors(fctx, *lrange)
       
  1017         for i, (c, lr) in enumerate(it, 1):
  1012             diffs = None
  1018             diffs = None
  1013             if patch:
  1019             if patch:
  1014                 diffs = diff(c, linerange=lr)
  1020                 diffs = diff(c, linerange=lr)
  1015             # follow renames accross filtered (not in range) revisions
  1021             # follow renames accross filtered (not in range) revisions
  1016             path = c.path()
  1022             path = c.path()
  1047     return tmpl("filelog",
  1053     return tmpl("filelog",
  1048                 file=f,
  1054                 file=f,
  1049                 nav=nav,
  1055                 nav=nav,
  1050                 symrev=webutil.symrevorshortnode(req, fctx),
  1056                 symrev=webutil.symrevorshortnode(req, fctx),
  1051                 entries=entries,
  1057                 entries=entries,
       
  1058                 descend=descend,
  1052                 patch=patch,
  1059                 patch=patch,
  1053                 latestentry=latestentry,
  1060                 latestentry=latestentry,
  1054                 linerange=linerange,
  1061                 linerange=linerange,
  1055                 revcount=revcount,
  1062                 revcount=revcount,
  1056                 morevars=morevars,
  1063                 morevars=morevars,