diff mercurial/fileset.py @ 35950:7b2b82f891bf stable

fileset: don't abort when running copied() on a revision with a removed file It looks like AND with any status-y fileset would trigger this, as added() and removed() also failed. The 4.5-rc revision is a convenient test case, but the merge isn't necessary.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 06 Feb 2018 23:53:37 -0500
parents 73432eee0ac4
children ab5f18a9dcac
line wrap: on
line diff
--- a/mercurial/fileset.py	Thu Feb 01 14:13:41 2018 -0500
+++ b/mercurial/fileset.py	Tue Feb 06 23:53:37 2018 -0500
@@ -464,9 +464,10 @@
     getargs(x, 0, 0, _("copied takes no arguments"))
     s = []
     for f in mctx.subset:
-        p = mctx.ctx[f].parents()
-        if p and p[0].path() != f:
-            s.append(f)
+        if f in mctx.ctx:
+            p = mctx.ctx[f].parents()
+            if p and p[0].path() != f:
+                s.append(f)
     return s
 
 @predicate('revs(revs, pattern)')