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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html