Merge branch 'js/rebase-i-tests'

A few tests that specifically target "git rebase -i" have been
added.

* js/rebase-i-tests:
  rebase -i: we allow extra spaces after fixup!/squash!
  rebase -i: demonstrate a bug with --autosquash
  t3404: add a test for the --gpg-sign option
This commit is contained in:
Junio C Hamano 2016-07-28 10:34:40 -07:00
commit c97268c822
2 changed files with 41 additions and 0 deletions

View File

@ -1281,4 +1281,12 @@ test_expect_success 'editor saves as CR/LF' '
)
'
SQ="'"
test_expect_success 'rebase -i --gpg-sign=<key-id>' '
set_fake_editor &&
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

View File

@ -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