This is just another patch series in preparation for the rebase--helper. Relative to v1 of this patch series, - the grammo fix was backed out because it was picked up separately, - two new tests were introduced, one demonstrating a bug, the other one ensuring that the rebase--helper does not introduce a regression (this test actually helped me debug and fix a regression in some previous revision of the rebase--helper) Johannes Schindelin (3): t3404: add a test for the --gpg-sign option rebase -i: demonstrate a bug with --autosquash rebase -i: we allow extra spaces after fixup!/squash! t/t3404-rebase-interactive.sh | 8 ++++++++ t/t3415-rebase-autosquash.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) Published-As: https://github.com/dscho/git/releases/tag/rebase-i-tests-v2 Interdiff vs v1: diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 4c96075..aa393d2 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -60,7 +60,7 @@ test_expect_success 'setup' ' test_commit P fileP ' -# "exec" commands are run with the user shell by default, but this may +# "exec" commands are ran with the user shell by default, but this may # be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work # to create a file. Unsetting SHELL avoids such non-portable behavior # in tests. It must be exported for it to take effect where needed. @@ -1281,11 +1281,12 @@ test_expect_success 'editor saves as CR/LF' ' ) ' -EPIPHANY="'" +SQ="'" test_expect_success 'rebase -i --gpg-sign=<key-id>' ' set_fake_editor && - FAKE_LINES="edit 1" git rebase -i --gpg-sign=\" HEAD^ >out 2>err && - grep "$EPIPHANY-S\"$EPIPHANY" err + FAKE_LINES="edit 1" git rebase -i --gpg-sign="\"S I Gner\"" HEAD^ \ + >out 2>err && + grep "$SQ-S\"S I Gner\"$SQ" err ' test_done diff --git a/t/t3415-rebase-autosquash.sh b/t/t3415-rebase-autosquash.sh index 8f53e54..48346f1 100755 --- a/t/t3415-rebase-autosquash.sh +++ b/t/t3415-rebase-autosquash.sh @@ -271,4 +271,37 @@ test_expect_success 'autosquash with custom inst format' ' test 2 = $(git cat-file commit HEAD^ | grep squash | wc -l) ' +set_backup_editor () { + write_script backup-editor.sh <<-\EOF + cp "$1" .git/backup-"$(basename "$1")" + EOF + test_set_editor "$PWD/backup-editor.sh" +} + +test_expect_failure 'autosquash with multiple empty patches' ' + test_tick && + git commit --allow-empty -m "empty" && + test_tick && + git commit --allow-empty -m "empty2" && + test_tick && + >fixup && + git add fixup && + git commit --fixup HEAD^^ && + ( + set_backup_editor && + GIT_USE_REBASE_HELPER=false \ + git rebase -i --force-rebase --autosquash HEAD~4 && + grep empty2 .git/backup-git-rebase-todo + ) +' + +test_expect_success 'extra spaces after fixup!' ' + base=$(git rev-parse HEAD) && + test_commit to-fixup && + git commit --allow-empty -m "fixup! to-fixup" && + git rebase -i --autosquash --keep-empty HEAD~2 && + parent=$(git rev-parse HEAD^) && + test $base = $parent +' + test_done -- 2.9.0.278.g1caae67 base-commit: 5c589a73de4394ad125a4effac227b3aec856fa1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html