comparison mercurial/commands.py @ 37776:141017c7f7a9

log: fix crash on empty revision with --copies switch If a revset is empty, .max() raises ValueError. I don't see any reason to recompute the revs, so I made it reuse the one returned by logcmdutil.getrevs(). If no revs specified by command line, the endrev will be smartset.spanset(repo) + 1, which is basically the same as len(repo), the default of getrenamedfn(). If --follow specified, revs.max() points to the working parent, which seems more correct.
author Yuya Nishihara <yuya@tcha.org>
date Fri, 13 Apr 2018 23:45:07 +0900
parents 6a7ff5816c5f
children f10cb49951e1
comparison
equal deleted inserted replaced
37775:03d7f885d5f2 37776:141017c7f7a9
3475 revs, differ = logcmdutil.getlinerangerevs(repo, revs, opts) 3475 revs, differ = logcmdutil.getlinerangerevs(repo, revs, opts)
3476 3476
3477 getrenamed = None 3477 getrenamed = None
3478 if opts.get('copies'): 3478 if opts.get('copies'):
3479 endrev = None 3479 endrev = None
3480 if opts.get('rev'): 3480 if revs:
3481 endrev = scmutil.revrange(repo, opts.get('rev')).max() + 1 3481 endrev = revs.max() + 1
3482 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) 3482 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev)
3483 3483
3484 ui.pager('log') 3484 ui.pager('log')
3485 displayer = logcmdutil.changesetdisplayer(ui, repo, opts, differ, 3485 displayer = logcmdutil.changesetdisplayer(ui, repo, opts, differ,
3486 buffered=True) 3486 buffered=True)