diff mercurial/cmdutil.py @ 34907:0ccfc468423a

log: handle removed files with --line-range patterns I.e. abort when the pattern corresponds to a removed file, as done with bare file patterns.
author Denis Laxalde <denis.laxalde@logilab.fr>
date Thu, 19 Oct 2017 14:55:10 +0200
parents 5c7dbb730179
children 362096cfdb1f
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Thu Oct 19 14:12:49 2017 +0200
+++ b/mercurial/cmdutil.py	Thu Oct 19 14:55:10 2017 +0200
@@ -2627,6 +2627,9 @@
     # Two-levels map of "rev -> file ctx -> [line range]".
     linerangesbyrev = {}
     for fname, (fromline, toline) in _parselinerangelogopt(repo, opts):
+        if fname not in wctx:
+            raise error.Abort(_('cannot follow file not in parent '
+                                'revision: "%s"') % fname)
         fctx = wctx.filectx(fname)
         for fctx, linerange in dagop.blockancestors(fctx, fromline, toline):
             rev = fctx.introrev()