diff hgext/fix.py @ 47886:86a60679cf61 stable 5.9.1

fix: again allow formatting the working copy while merging I forgot about unfinished merges (I think I was thinking only about unfinished merge conflicts) when I wrote https://phab.mercurial-scm.org/D11209. As a coworker (hg contributor dploch) reported to me, this led to `hg fix --working-dir` failing when you have an uncommitted merge. The fix is trivial: just move the assertion to just before the call to `scmutil.movedirstate()` where it actually matters. Differential Revision: https://phab.mercurial-scm.org/D11376
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 27 Aug 2021 13:51:44 -0700
parents e69c82bf3a01
children 66ff8d3865b3
line wrap: on
line diff
--- a/hgext/fix.py	Thu Aug 26 21:40:21 2021 -0700
+++ b/hgext/fix.py	Fri Aug 27 13:51:44 2021 -0700
@@ -752,8 +752,6 @@
 
     Directly updates the dirstate for the affected files.
     """
-    assert repo.dirstate.p2() == nullid
-
     for path, data in pycompat.iteritems(filedata):
         fctx = ctx[path]
         fctx.write(data, fctx.flags())
@@ -761,6 +759,7 @@
     oldp1 = repo.dirstate.p1()
     newp1 = replacements.get(oldp1, oldp1)
     if newp1 != oldp1:
+        assert repo.dirstate.p2() == nullid
         with repo.dirstate.parentchange():
             scmutil.movedirstate(repo, repo[newp1])