D6600: copies: move short-circuiting of dirstate copies out of _forwardcopies()
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Wed Jul 10 19:39:14 UTC 2019
Closed by commit rHGbcb4b5c5964b: copies: move short-circuiting of dirstate copies out of _forwardcopies() (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6600?vs=15744&id=15872
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6600/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6600
AFFECTED FILES
mercurial/copies.py
CHANGE DETAILS
diff --git a/mercurial/copies.py b/mercurial/copies.py
--- a/mercurial/copies.py
+++ b/mercurial/copies.py
@@ -324,10 +324,6 @@
match = a.repo().narrowmatch(match)
# check for working copy
if b.rev() is None:
- if a == b.p1():
- # short-circuit to avoid issues with merge states
- return _dirstatecopies(b._repo, match)
-
cm = _committedforwardcopies(a, b.p1(), match)
# combine copies from dirstate if necessary
return _chainandfilter(a, b, cm, _dirstatecopies(b._repo, match))
@@ -367,6 +363,9 @@
if a == x:
if debug:
repo.ui.debug('debug.copies: search mode: forward\n')
+ if y.rev() is None and x == y.p1():
+ # short-circuit to avoid issues with merge states
+ return _dirstatecopies(repo, match)
return _forwardcopies(x, y, match=match)
if a == y:
if debug:
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list