]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t3427: fix another incorrect assumption
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 31 Jul 2019 15:18:46 +0000 (08:18 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 31 Jul 2019 19:24:07 +0000 (12:24 -0700)
The test case that concerns `git rebase -Xsubtree` (with the
default rebase backend, not with `--preserve-merges`) starts out with a
pre-rebase commit history that begins with a commit that introduces
three files: master1.t, master2.t and master3.t.

This commit was generated by passing a subtree merge commit through `git
filter-branch --subdirectory-filter`, so it looks as if this commit
really introduces all those files.

The commit history onto which this commit is then rebased, however,
introduced those files in individual commits. For that reason, the
rebase will fail, it _must_ fail, because the first `pick` results in no
changes to be committed.

Let's fix the test case to expect exactly this situation.

With this change, we can mark the original bug that this test case tried
to demonstrate as fixed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3427-rebase-subtree.sh

index a734716ea3e377eafb3732404a1c34fd9888ab67..7a37235768574db87e76b3659ca4cfd39f248563 100755 (executable)
@@ -82,11 +82,12 @@ test_expect_failure REBASE_P 'Rebase -Xsubtree --keep-empty --preserve-merges --
        verbose test "$(commit_message HEAD)" = "Empty commit"
 '
 
-# FAILURE: fatal: Could not parse object
-test_expect_failure 'Rebase -Xsubtree --keep-empty --onto commit' '
+test_expect_success 'Rebase -Xsubtree --keep-empty --onto commit' '
        reset_rebase &&
        git checkout -b rebase-onto to-rebase &&
-       git rebase -Xsubtree=files_subtree --keep-empty --onto files-master master &&
+       test_must_fail git rebase -Xsubtree=files_subtree --keep-empty --onto files-master master &&
+       : first pick results in no changes &&
+       git rebase --continue &&
        verbose test "$(commit_message HEAD~2)" = "master4" &&
        verbose test "$(commit_message HEAD~)" = "files_subtree/master5" &&
        verbose test "$(commit_message HEAD)" = "Empty commit"