]> git.ipfire.org Git - thirdparty/git.git/commit
rebase -i --autosquash: demonstrate a problem skipping the last squash
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 31 Aug 2018 23:45:02 +0000 (16:45 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 4 Sep 2018 15:59:33 +0000 (08:59 -0700)
commit2f3eb68f10be8541b6ffdcbb16d996fd3c7a9e82
treeb6f002ca0916a0eac42756a0bebccaf7add3a801
parent53f9a3e157dbbc901a02ac2c73346d375e24978c
rebase -i --autosquash: demonstrate a problem skipping the last squash

The `git commit --squash` command can be used not only to amend commit
messages and changes, but also to record notes for an upcoming rebase.

For example, when the author information of a given commit is incorrect,
a user might call `git commit --allow-empty -m "Fix author" --squash
<commit>`, to remind them to fix that during the rebase. When the editor
would pop up, the user would simply delete the commit message to abort
the rebase at this stage, fix the author information, and continue with
`git rebase --skip`. (This is a real-world example from the rebase of
Git for Windows onto v2.19.0-rc1.)

However, there is a bug in `git rebase` that will cause the squash
message *not* to be forgotten in this case. It will therefore be reused
in the next fixup/squash chain (if any).

This patch adds a test case to demonstrate this breakage.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
t/t3415-rebase-autosquash.sh