diff options
-rw-r--r-- | builtin/commit.c | 2 | ||||
-rwxr-xr-x | t/t7500-commit.sh | 14 |
2 files changed, 12 insertions, 4 deletions
diff --git a/builtin/commit.c b/builtin/commit.c index 6e2f12accc..cc16e3f292 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -602,7 +602,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix, if (strbuf_read_file(&sb, git_path("SQUASH_MSG"), 0) < 0) die_errno("could not read SQUASH_MSG"); hook_arg1 = "squash"; - } else if (template_file && !stat(template_file, &statbuf)) { + } else if (template_file) { if (strbuf_read_file(&sb, template_file, 0) < 0) die_errno("could not read '%s'", template_file); hook_arg1 = "template"; diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh index aa9c577e9e..1590877c42 100755 --- a/t/t7500-commit.sh +++ b/t/t7500-commit.sh @@ -23,13 +23,21 @@ test_expect_success 'a basic commit in an empty tree should succeed' ' test_expect_success 'nonexistent template file should return error' ' echo changes >> foo && git add foo && - test_must_fail git commit --template "$PWD"/notexist + ( + GIT_EDITOR="echo hello >\"\$1\"" && + export GIT_EDITOR && + test_must_fail git commit --template "$PWD"/notexist + ) ' test_expect_success 'nonexistent template file in config should return error' ' git config commit.template "$PWD"/notexist && - test_must_fail git commit && - git config --unset commit.template + test_when_finished "git config --unset commit.template" && + ( + GIT_EDITOR="echo hello >\"\$1\"" && + export GIT_EDITOR && + test_must_fail git commit + ) ' # From now on we'll use a template file that exists. |