Mercurial > hg-stable
changeset 45562: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 | feffeb18d412 |
children | 2c86b9587740 |
files | hgext/rebase.py hgext/transplant.py mercurial/cmdutil.py mercurial/commands.py mercurial/hg.py mercurial/subrepo.py |
diffstat | 6 files changed, 11 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/rebase.py Fri Sep 18 15:03:06 2020 -0700 +++ b/hgext/rebase.py Mon Sep 21 10:09:39 2020 -0700 @@ -1099,7 +1099,7 @@ ) # update to the current working revision # to clear interrupted merge - hg.updaterepo(repo, rbsrt.originalwd, overwrite=True) + mergemod.clean_update(repo[rbsrt.originalwd]) rbsrt._finishrebase() return 0 elif inmemory:
--- a/hgext/transplant.py Fri Sep 18 15:03:06 2020 -0700 +++ b/hgext/transplant.py Mon Sep 21 10:09:39 2020 -0700 @@ -476,7 +476,7 @@ """logic to stop an interrupted transplant""" if self.canresume(): startctx = repo[b'.'] - hg.updaterepo(repo, startctx.node(), overwrite=True) + merge.clean_update(startctx) ui.status(_(b"stopped the interrupted transplant\n")) ui.status( _(b"working directory is now at %s\n") % startctx.hex()[:12]
--- a/mercurial/cmdutil.py Fri Sep 18 15:03:06 2020 -0700 +++ b/mercurial/cmdutil.py Mon Sep 21 10:09:39 2020 -0700 @@ -4154,7 +4154,6 @@ startctx = repo[b'.'] # whether to strip or not cleanup = False - from . import hg if newnodes: newnodes = [repo[r].rev() for r in newnodes] @@ -4182,7 +4181,7 @@ if cleanup: with repo.wlock(), repo.lock(): - hg.updaterepo(repo, startctx.node(), overwrite=True) + mergemod.clean_update(startctx) # stripping the new nodes created strippoints = [ c.node() for c in repo.set(b"roots(%ld)", newnodes) @@ -4192,7 +4191,7 @@ if not cleanup: # we don't update to the startnode if we can't strip startctx = repo[b'.'] - hg.updaterepo(repo, startctx.node(), overwrite=True) + mergemod.clean_update(startctx) ui.status(_(b"graft aborted\n")) ui.status(_(b"working directory is now at %s\n") % startctx.hex()[:12])
--- a/mercurial/commands.py Fri Sep 18 15:03:06 2020 -0700 +++ b/mercurial/commands.py Mon Sep 21 10:09:39 2020 -0700 @@ -3247,7 +3247,7 @@ if not graftstate.exists(): raise error.Abort(_(b"no interrupted graft found")) pctx = repo[b'.'] - hg.updaterepo(repo, pctx.node(), overwrite=True) + mergemod.clean_update(pctx) graftstate.delete() ui.status(_(b"stopped the interrupted graft\n")) ui.status(_(b"working directory is now at %s\n") % pctx.hex()[:12])
--- a/mercurial/hg.py Fri Sep 18 15:03:06 2020 -0700 +++ b/mercurial/hg.py Mon Sep 21 10:09:39 2020 -0700 @@ -1074,7 +1074,7 @@ def clean(repo, node, show_stats=True, quietempty=False): """forcibly switch the working directory to node, clobbering changes""" - stats = updaterepo(repo, node, True) + stats = mergemod.clean_update(repo[node]) assert stats.unresolvedcount == 0 if show_stats: _showstats(repo, stats, quietempty)
--- 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):