D5989: copies: filter out copies when target is not in destination manifest
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Wed Feb 20 21:35:36 EST 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG58d50c697dc7: copies: filter out copies when target is not in destination manifest (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D5989?vs=14159&id=14169
REVISION DETAIL
https://phab.mercurial-scm.org/D5989
AFFECTED FILES
mercurial/copies.py
tests/test-copies.t
CHANGE DETAILS
diff --git a/tests/test-copies.t b/tests/test-copies.t
--- a/tests/test-copies.t
+++ b/tests/test-copies.t
@@ -194,9 +194,7 @@
|/ x y
o 0 add x
x
-BROKEN: x doesn't exist here
$ hg debugpathcopies 1 2
- y -> x
Copies via null revision (there shouldn't be any)
$ newrepo
diff --git a/mercurial/copies.py b/mercurial/copies.py
--- a/mercurial/copies.py
+++ b/mercurial/copies.py
@@ -124,10 +124,13 @@
# file is a copy of an existing file
t[k] = v
- # remove criss-crossed copies
for k, v in list(t.items()):
+ # remove criss-crossed copies
if k in src and v in dst:
del t[k]
+ # remove copies to files that were then removed
+ elif k not in dst:
+ del t[k]
return t
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list