diff mercurial/subrepo.py @ 45556:03726f5b6092

merge: use merge.clean_update() when applicable We have had this higher-level function (higher than `merge.update()`, that is) for a while. Let's simply some callers by using it. I don't know why I didn't do this when I introduced the function. After this patch, there are no remaining callers that call `hg.updaterepo()` with `overwrite=True`. We'll clean that up soon. Differential Revision: https://phab.mercurial-scm.org/D9063
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 21 Sep 2020 10:09:39 -0700
parents 8c466bcb0879
children 5c8230ca37f2
line wrap: on
line diff
--- a/mercurial/subrepo.py	Fri Sep 18 15:03:06 2020 -0700
+++ b/mercurial/subrepo.py	Mon Sep 21 10:09:39 2020 -0700
@@ -25,6 +25,7 @@
     exchange,
     logcmdutil,
     match as matchmod,
+    merge as merge,
     node,
     pathutil,
     phases,
@@ -783,7 +784,10 @@
                     % (revision[0:12], self._path)
                 )
                 repo = urepo
-        hg.updaterepo(repo, revision, overwrite)
+        if overwrite:
+            merge.clean_update(repo[revision])
+        else:
+            hg.updaterepo(repo, revision, False)
 
     @annotatesubrepoerror
     def merge(self, state):