comparison mercurial/hgweb/webcommands.py @ 7361:9fe97eea5510

linkrev: take a revision number rather than a hash
author Matt Mackall <mpm@selenic.com>
date Wed, 12 Nov 2008 15:19:14 -0600
parents 55651328dfcc
children 0fa3b6677027
comparison
equal deleted inserted replaced
7360:42f1b8cb9a60 7361:9fe97eea5510
524 fl = web.repo.file(f) 524 fl = web.repo.file(f)
525 numrevs = len(fl) 525 numrevs = len(fl)
526 if not numrevs: # file doesn't exist at all 526 if not numrevs: # file doesn't exist at all
527 raise 527 raise
528 rev = webutil.changectx(web.repo, req).rev() 528 rev = webutil.changectx(web.repo, req).rev()
529 first = fl.linkrev(fl.node(0)) 529 first = fl.linkrev(0)
530 if rev < first: # current rev is from before file existed 530 if rev < first: # current rev is from before file existed
531 raise 531 raise
532 frev = numrevs - 1 532 frev = numrevs - 1
533 while fl.linkrev(fl.node(frev)) > rev: 533 while fl.linkrev(frev) > rev:
534 frev -= 1 534 frev -= 1
535 fctx = web.repo.filectx(f, fl.linkrev(fl.node(frev))) 535 fctx = web.repo.filectx(f, fl.linkrev(frev))
536 536
537 count = fctx.filerev() + 1 537 count = fctx.filerev() + 1
538 pagelen = web.maxshortchanges 538 pagelen = web.maxshortchanges
539 start = max(0, fctx.filerev() - pagelen + 1) # first rev on this page 539 start = max(0, fctx.filerev() - pagelen + 1) # first rev on this page
540 end = min(count, start + pagelen) # last rev on this page 540 end = min(count, start + pagelen) # last rev on this page