diff hgext/rebase.py @ 45229:0ea08126a2af stable

rebase: fix regression in file change detection introduced by 0ecb3b11fcad Before 0ecb3b11fcad, `wctx._compact()`, was called by `wctx.nofilechanges()` as a side effect. Later, it turned out that this side effect is needed to correctly detect which files changed. See https://phab.mercurial-scm.org/D8733#131949 for the history. The problem could also be triggered by running `tests/test-rebase-parameters.t` with `--extra-config-opt rebase.experimental.inmemory=1`. Differential Revision: https://phab.mercurial-scm.org/D8843
author Manuel Jacob <me@manueljacob.de>
date Tue, 28 Jul 2020 20:47:50 +0200
parents e429e7c801b2
children 1f5c548f15e5
line wrap: on
line diff
--- a/hgext/rebase.py	Tue Jul 28 20:07:05 2020 +0200
+++ b/hgext/rebase.py	Tue Jul 28 20:47:50 2020 +0200
@@ -1442,6 +1442,10 @@
     if b'branch' in extra:
         branch = extra[b'branch']
 
+    # FIXME: We call _compact() because it's required to correctly detect
+    # changed files. This was added to fix a regression shortly before the 5.5
+    # release. A proper fix will be done in the default branch.
+    wctx._compact()
     memctx = wctx.tomemctx(
         commitmsg,
         date=date,