Merge branch 'jn/maint-commit-missing-template'

* jn/maint-commit-missing-template:
  commit: error out for missing commit message template
This commit is contained in:
Junio C Hamano 2011-03-04 15:02:27 -08:00
commit 5cb3c9b7df
2 changed files with 12 additions and 4 deletions

View file

@ -634,7 +634,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";

View file

@ -28,13 +28,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.