[PATCH v5 06/11] Add a test for `git replace --convert-graft-file`
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 25, 2018, 09:54 UTC
- Message-ID
- <07372da0d614a13b0aeb58cac3b5994530e6de5c.1524650029.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1524650028.git.johannes.schindelin@gmx.de>
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> --- builtin/replace.c | 1 - t/t6050-replace.sh | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/builtin/replace.c b/builtin/replace.c index fdd12c5ffc0..acd30e3d824 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -494,7 +494,6 @@ static int convert_graft_file(int force) fclose(fp); strbuf_release(&buf); - argv_array_clear(&args); if (!err.len) return unlink_or_warn(graft_file); diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh index c630aba657e..bed86a0af3d 100755 --- a/t/t6050-replace.sh +++ b/t/t6050-replace.sh @@ -444,4 +444,24 @@ test_expect_success GPG '--graft on a commit with a mergetag' ' git replace -d $HASH10 ' +test_expect_success '--convert-graft-file' ' + : 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
-- 2.17.0.windows.1.33.gfcbb1fa0445