diff tests/test-fix.t @ 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 66ad7e32011f
children 066cdec8f74f
line wrap: on
line diff
--- a/tests/test-fix.t	Thu Aug 26 21:40:21 2021 -0700
+++ b/tests/test-fix.t	Fri Aug 27 13:51:44 2021 -0700
@@ -871,6 +871,45 @@
 
   $ cd ..
 
+We should be allowed to fix the working (and only the working copy) while
+merging.
+
+  $ hg init fixworkingcopywhilemerging
+  $ cd fixworkingcopywhilemerging
+
+  $ printf "a\nb\nc\n" > file.changed
+  $ hg commit -Aqm "ancestor"
+
+  $ printf "aa\nb\nc\n" > file.changed
+  $ hg commit -m "change a"
+
+  $ hg checkout '.^'
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ printf "a\nb\ncc\n" > file.changed
+  $ hg commit -m "change c"
+  created new head
+
+  $ hg merge
+  merging file.changed
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ cat file.changed
+  aa
+  b
+  cc
+Not allowed to fix a parent of the working copy while merging
+  $ hg fix -r . --working-dir
+  abort: outstanding uncommitted merge
+  (use 'hg commit' or 'hg merge --abort')
+  [20]
+  $ hg fix --working-dir
+  $ cat file.changed
+  AA
+  b
+  CC
+
+  $ cd ..
+
 Abort fixing revisions if there is an unfinished operation. We don't want to
 make things worse by editing files or stripping/obsoleting things. Also abort
 fixing the working directory if there are unresolved merge conflicts.