comparison mercurial/cmdutil.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 10284ce3d5ed
children 3a024d7cd08e
comparison
equal deleted inserted replaced
45555:feffeb18d412 45556:03726f5b6092
4152 startctx = repo[newnodes[0]].p1() 4152 startctx = repo[newnodes[0]].p1()
4153 else: 4153 else:
4154 startctx = repo[b'.'] 4154 startctx = repo[b'.']
4155 # whether to strip or not 4155 # whether to strip or not
4156 cleanup = False 4156 cleanup = False
4157 from . import hg
4158 4157
4159 if newnodes: 4158 if newnodes:
4160 newnodes = [repo[r].rev() for r in newnodes] 4159 newnodes = [repo[r].rev() for r in newnodes]
4161 cleanup = True 4160 cleanup = True
4162 # checking that none of the newnodes turned public or is public 4161 # checking that none of the newnodes turned public or is public
4180 ) 4179 )
4181 cleanup = False 4180 cleanup = False
4182 4181
4183 if cleanup: 4182 if cleanup:
4184 with repo.wlock(), repo.lock(): 4183 with repo.wlock(), repo.lock():
4185 hg.updaterepo(repo, startctx.node(), overwrite=True) 4184 mergemod.clean_update(startctx)
4186 # stripping the new nodes created 4185 # stripping the new nodes created
4187 strippoints = [ 4186 strippoints = [
4188 c.node() for c in repo.set(b"roots(%ld)", newnodes) 4187 c.node() for c in repo.set(b"roots(%ld)", newnodes)
4189 ] 4188 ]
4190 repair.strip(repo.ui, repo, strippoints, backup=False) 4189 repair.strip(repo.ui, repo, strippoints, backup=False)
4191 4190
4192 if not cleanup: 4191 if not cleanup:
4193 # we don't update to the startnode if we can't strip 4192 # we don't update to the startnode if we can't strip
4194 startctx = repo[b'.'] 4193 startctx = repo[b'.']
4195 hg.updaterepo(repo, startctx.node(), overwrite=True) 4194 mergemod.clean_update(startctx)
4196 4195
4197 ui.status(_(b"graft aborted\n")) 4196 ui.status(_(b"graft aborted\n"))
4198 ui.status(_(b"working directory is now at %s\n") % startctx.hex()[:12]) 4197 ui.status(_(b"working directory is now at %s\n") % startctx.hex()[:12])
4199 graftstate.delete() 4198 graftstate.delete()
4200 return 0 4199 return 0