diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-12 11:45:18 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-12 11:45:18 -0700 |
commit | 475443c8489d9167b944367d8ec8bfef77bee0a5 (patch) | |
tree | f7af3152e028708b74690a228915671fd3a7f774 | |
parent | 684958ae6162c593bd90ba893271ffb2381c3c44 (diff) | |
download | git-475443c8489d9167b944367d8ec8bfef77bee0a5.tar.gz |
git-commit: do not muck with commit message when no_edit is set.
Spotted by Linus and Darrin Thompson. When we took a commit
message from -F <file> with an incomplete line, we appended "git
status" output, which ended up attaching a lone "#" at the end.
We still need the "do we have anything to commit?" check by
running "status" (which has to know what to do in different
cases with -i/-o/-a), but there is no point appending its output
to the proposed commit message given by the user.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-x | git-commit.sh | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/git-commit.sh b/git-commit.sh index 1e7c09e1f2..bd3dc71cd6 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -537,7 +537,7 @@ t) ;; esac -if [ -f "$GIT_DIR/MERGE_HEAD" ]; then +if test -f "$GIT_DIR/MERGE_HEAD" && test -z "$no_edit"; then echo "#" echo "# It looks like you may be committing a MERGE." echo "# If this is not correct, please remove the file" @@ -605,16 +605,23 @@ else current= fi -{ - test -z "$only_include_assumed" || echo "$only_include_assumed" - run_status -} >>"$GIT_DIR"/COMMIT_EDITMSG +if test -z "$no_edit" +then + { + test -z "$only_include_assumed" || echo "$only_include_assumed" + run_status + } >>"$GIT_DIR"/COMMIT_EDITMSG +else + # we need to check if there is anything to commit + run_status >/dev/null +fi if [ "$?" != "0" -a ! -f "$GIT_DIR/MERGE_HEAD" -a -z "$amend" ] then rm -f "$GIT_DIR/COMMIT_EDITMSG" run_status exit 1 fi + case "$no_edit" in '') case "${VISUAL:-$EDITOR},$TERM" in |