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| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Eric Sandeen | Re: [RFC] Heads up on sys_fallocate() |
| Linus Torvalds | Linux 2.6.27-rc5 |
| Dave Hansen | Re: [RFC/PATCH] Documentation of kernel messages |
git: | |
| Stephen Hemminger | Re: HTB accuracy for high speed |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
