diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-04-29 00:44:42 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-30 11:12:31 +0900 |
commit | 0115e030db499853a77c2b92dc8c6a51552009ef (patch) | |
tree | c3ff084fc01b23b6e4670c1b70e579afdc9806e2 /t | |
parent | replace: introduce --convert-graft-file (diff) | |
download | tgif-0115e030db499853a77c2b92dc8c6a51552009ef.tar.xz |
Add a test for `git replace --convert-graft-file`
The proof, as the saying goes, lies in the pudding. So here is a
regression test that not only demonstrates what the option is supposed to
accomplish, but also demonstrates that it does accomplish it.
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/t6050-replace.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh index c630aba657..d174bfed30 100755 --- a/t/t6050-replace.sh +++ b/t/t6050-replace.sh @@ -444,4 +444,32 @@ test_expect_success GPG '--graft on a commit with a mergetag' ' git replace -d $HASH10 ' +test_expect_success '--convert-graft-file' ' + git checkout -b with-graft-file && + test_commit root2 && + git reset --hard root2^ && + test_commit root1 && + test_commit after-root1 && + test_tick && + git merge -m merge-root2 root2 && + + : add and convert graft file && + printf "%s\n%s %s\n\n# comment\n%s\n" \ + $(git rev-parse HEAD^^ HEAD^ HEAD^^ HEAD^2) \ + >.git/info/grafts && + git replace --convert-graft-file && + test_path_is_missing .git/info/grafts && + + : verify that the history is now "grafted" && + git rev-list HEAD >out && + test_line_count = 4 out && + + : create invalid graft file and verify that it is not deleted && + test_when_finished "rm -f .git/info/grafts" && + echo $EMPTY_BLOB $EMPTY_TREE >.git/info/grafts && + test_must_fail git replace --convert-graft-file 2>err && + test_i18ngrep "$EMPTY_BLOB $EMPTY_TREE" err && + test_i18ngrep "$EMPTY_BLOB $EMPTY_TREE" .git/info/grafts +' + test_done |