D1215: merge: skip subrepo state, update hooks, and updating the dirstate in IMM
phillco (Phil Cohen)
phabricator at mercurial-scm.org
Thu Dec 7 19:48:51 UTC 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG1b03407e808d: merge: skip subrepo state, update hooks, and updating the dirstate in IMM (authored by phillco, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1215?vs=3561&id=4171
REVISION DETAIL
https://phab.mercurial-scm.org/D1215
AFFECTED FILES
mercurial/merge.py
CHANGE DETAILS
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -1839,8 +1839,9 @@
if not force and (wc.files() or wc.deleted()):
raise error.Abort(_("uncommitted changes"),
hint=_("use 'hg status' to list changes"))
- for s in sorted(wc.substate):
- wc.sub(s).bailifchanged()
+ if not wc.isinmemory():
+ for s in sorted(wc.substate):
+ wc.sub(s).bailifchanged()
elif not overwrite:
if p1 == p2: # no-op update
@@ -1955,7 +1956,7 @@
### apply phase
if not branchmerge: # just jump to the new rev
fp1, fp2, xp1, xp2 = fp2, nullid, xp2, ''
- if not partial:
+ if not partial and not wc.isinmemory():
repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2)
# note that we're in the middle of an update
repo.vfs.write('updatestate', p2.hex())
@@ -1994,7 +1995,7 @@
stats = applyupdates(repo, actions, wc, p2, overwrite, labels=labels)
- if not partial:
+ if not partial and not wc.isinmemory():
with repo.dirstate.parentchange():
repo.setparents(fp1, fp2)
recordupdates(repo, actions, branchmerge)
To: phillco, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list