]> git.ipfire.org Git - thirdparty/git.git/commit - branch.c
commit/reset: try to clean up sequencer state
authorPhillip Wood <phillip.wood@dunelm.org.uk>
Tue, 16 Apr 2019 10:18:41 +0000 (11:18 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 17 Apr 2019 02:31:37 +0000 (11:31 +0900)
commitb07d9bfd171d881a02d110b68673c58cb63e9f62
tree50cb587f5e0e614a0892c2d46998c05d21a44f86
parentaeb582a98374c094361cba1bd756dc6307432c42
commit/reset: try to clean up sequencer state

When cherry-picking or reverting a sequence of commits and if the final
pick/revert has conflicts and the user uses `git commit` to commit the
conflict resolution and does not run `git cherry-pick --continue` then
the sequencer state is left behind. This can cause problems later. In my
case I cherry-picked a sequence of commits the last one of which I
committed with `git commit` after resolving some conflicts, then a while
later, on a different branch I aborted a revert which rewound my HEAD to
the end of the cherry-pick sequence on the previous branch. Avoid this
potential problem by removing the sequencer state if we're committing or
resetting the final pick in a sequence.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
branch.c
builtin/commit.c
sequencer.c
sequencer.h
t/t3507-cherry-pick-conflict.sh