changeset 42592:a48f6f18dc6d

copies: remove most early returns from pathcopies() and _forwardcopies() I want to split up _chainandfilter() more so the call to _filter() consistently happens at the end of pathcopies(). This prepares for that change. Differential Revision: https://phab.mercurial-scm.org/D6601
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 25 Jun 2019 13:33:49 -0700
parents bcb4b5c5964b
children 11ceb1b8fd74
files mercurial/copies.py
diffstat 1 files changed, 13 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/copies.py	Fri Jun 28 09:01:45 2019 -0700
+++ b/mercurial/copies.py	Tue Jun 25 13:33:49 2019 -0700
@@ -326,8 +326,10 @@
     if b.rev() is None:
         cm = _committedforwardcopies(a, b.p1(), match)
         # combine copies from dirstate if necessary
-        return _chainandfilter(a, b, cm, _dirstatecopies(b._repo, match))
-    return _committedforwardcopies(a, b, match)
+        copies = _chainandfilter(a, b, cm, _dirstatecopies(b._repo, match))
+    else:
+        copies  = _committedforwardcopies(a, b, match)
+    return copies
 
 def _backwardrenames(a, b, match):
     if a._repo.ui.config('experimental', 'copytrace') == 'off':
@@ -366,15 +368,17 @@
         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:
+        copies = _forwardcopies(x, y, match=match)
+    elif a == y:
         if debug:
             repo.ui.debug('debug.copies: search mode: backward\n')
-        return _backwardrenames(x, y, match=match)
-    if debug:
-        repo.ui.debug('debug.copies: search mode: combined\n')
-    return _chainandfilter(x, y, _backwardrenames(x, a, match=match),
-                           _forwardcopies(a, y, match=match))
+        copies = _backwardrenames(x, y, match=match)
+    else:
+        if debug:
+            repo.ui.debug('debug.copies: search mode: combined\n')
+        copies = _chainandfilter(x, y, _backwardrenames(x, a, match=match),
+                                 _forwardcopies(a, y, match=match))
+    return copies
 
 def mergecopies(repo, c1, c2, base):
     """