[prev in list] [next in list] [prev in thread] [next in thread]
List: git
Subject: bug in rebase--interactive with squash and conflicts
From: Johannes Sixt <J.Sixt () eudaptics ! com>
Date: 2007-08-21 15:10:04
Message-ID: 46CB004C.AC39D562 () eudaptics ! com
[Download RAW message or body]
Hi,
There's a problem with rebase--interactive where I want to squash two
commits and the one to squash is the first in the original series. In
particular, I change the commit list from
pick 1
pick 2
pick 3
to
pick 3
squash 1
pick 2
In this case, the edits of commit 3 are lost. There are conflicts when
commits 3 and 1 are cherry-picked.
You can simulate the problematic case by applying this patch:
index 40d6799..861ece1 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -252,3 +252,4 @@ 'interrupted squash works as expected' '
echo $n >> conflict &&
- git add conflict &&
+ echo $n > $n
+ git add conflict $n &&
git commit -m $n
@@ -256,3 +257,3 @@ 'interrupted squash works as expected' '
one=$(git rev-parse HEAD~3) &&
- ! FAKE_LINES="1 squash 3 2" git rebase -i HEAD~3 &&
+ ! FAKE_LINES="3 squash 1 2" git rebase -i HEAD~3 &&
(echo one; echo two; echo four) > conflict &&
The test fails now, because git rebase --continue did not fail although
it should have. Run
gitk HEAD to-be-rebased@{1}
Note that the rebase was completed, i.e. there are now 2 commits instead
of the original 3. But the file 'four' is missing and the final contents
of the file 'conflict' is
one
two
three
i.e. as if commit 3 had never taken place.
-- Hannes
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic