diff -r 2e45bbd3db7b -r 0ccfc468423a mercurial/cmdutil.py --- 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()