diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-11-12 23:25:57 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-11-13 03:04:00 (GMT) |
commit | f08110ddd84438f4a8d69c145fae7f65fc91940f (patch) | |
tree | 20a24c3caf03a01c058a526eb8a95d7eccc1c576 /t | |
parent | 8858448bb49332d353febc078ce4a3abcc962efe (diff) | |
download | git-f08110ddd84438f4a8d69c145fae7f65fc91940f.zip git-f08110ddd84438f4a8d69c145fae7f65fc91940f.tar.gz git-f08110ddd84438f4a8d69c145fae7f65fc91940f.tar.bz2 |
rebase -r: demonstrate bug with conflicting merges
When calling `merge` on a branch that has already been merged, that
`merge` is skipped quietly, but currently a MERGE_HEAD file is being
left behind and will then be grabbed by the next `pick` (that did
not want to create a *merge* commit).
Demonstrate this.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t3430-rebase-merges.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh index aa7bfc8..1f08a33 100755 --- a/t/t3430-rebase-merges.sh +++ b/t/t3430-rebase-merges.sh @@ -396,4 +396,20 @@ test_expect_success 'with --autosquash and --exec' ' grep "G: +G" actual ' +test_expect_failure '--continue after resolving conflicts after a merge' ' + git checkout -b already-has-g E && + git cherry-pick E..G && + test_commit H2 && + + git checkout -b conflicts-in-merge H && + test_commit H2 H2.t conflicts H2-conflict && + test_must_fail git rebase -r already-has-g && + grep conflicts H2.t && + echo resolved >H2.t && + git add -u && + git rebase --continue && + test_must_fail git rev-parse --verify HEAD^2 && + test_path_is_missing .git/MERGE_HEAD +' + test_done |