Merge branch 'jn/maint-commit-missing-template'
authorJunio C Hamano <gitster@pobox.com>
Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 4 Mar 2011 23:02:27 +0000 (15:02 -0800)
* jn/maint-commit-missing-template:
commit: error out for missing commit message template

builtin/commit.c
t/t7500-commit.sh
index 355b2cbca7460d40b013380c38801686e61b74f1..d71e1e0c9c27c4d03cd02b4deaacec67af33917a 100644 (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";
index d551b77ce6d94acce80069f2197f0169ee59e6d5..5976f598fc7bf48120865eca3ceef74a151e717a 100755 (executable)
@@ -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.