mirror of
https://github.com/git/git.git
synced 2024-11-27 20:14:30 +08:00
Do not strip empty lines / trailing spaces from a commit message template
Templates should be just that: A form that the user fills out, and forms have blanks. If people are attached to not having extra whitespace in the editor, they can simply clean up their templates. Added test with editor adding even more whitespace. Signed-off-by: Boris Faure <billiob@gmail.com> Based-on-patch-by:Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4c007ae835
commit
8b1ae678a3
@ -615,6 +615,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
||||
const char *hook_arg1 = NULL;
|
||||
const char *hook_arg2 = NULL;
|
||||
int ident_shown = 0;
|
||||
int clean_message_contents = (cleanup_mode != CLEANUP_NONE);
|
||||
|
||||
if (!no_verify && run_hook(index_file, "pre-commit", NULL))
|
||||
return 0;
|
||||
@ -681,6 +682,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
||||
if (strbuf_read_file(&sb, template_file, 0) < 0)
|
||||
die_errno(_("could not read '%s'"), template_file);
|
||||
hook_arg1 = "template";
|
||||
clean_message_contents = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -708,7 +710,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
|
||||
if (s->fp == NULL)
|
||||
die_errno(_("could not open '%s'"), git_path(commit_editmsg));
|
||||
|
||||
if (cleanup_mode != CLEANUP_NONE)
|
||||
if (clean_message_contents)
|
||||
stripspace(&sb, 0);
|
||||
|
||||
if (signoff) {
|
||||
|
@ -123,6 +123,20 @@ test_expect_success 'commit message from file should override template' '
|
||||
commit_msg_is "standard input msg"
|
||||
'
|
||||
|
||||
cat >"$TEMPLATE" <<\EOF
|
||||
|
||||
|
||||
### template
|
||||
|
||||
EOF
|
||||
test_expect_success 'commit message from template with whitespace issue' '
|
||||
echo "content galore" >>foo &&
|
||||
git add foo &&
|
||||
GIT_EDITOR="$TEST_DIRECTORY"/t7500/add-whitespaced-content git commit \
|
||||
--template "$TEMPLATE" &&
|
||||
commit_msg_is "commit message"
|
||||
'
|
||||
|
||||
test_expect_success 'using alternate GIT_INDEX_FILE (1)' '
|
||||
|
||||
cp .git/index saved-index &&
|
||||
|
8
t/t7500/add-whitespaced-content
Executable file
8
t/t7500/add-whitespaced-content
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
sed -e 's/|$//' >>"$1" <<\EOF
|
||||
|
||||
|
|
||||
commit message |
|
||||
|
||||
EOF
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user