Linus Torvalds <torvalds@xxxxxxxx> writes: > Fixed like so.. Thanks. > However, your script shows another problem: the "#" added at the end of > the line for a > > echo -n "duh" | git-commit -F - -a > > seems to be because we append the "git status" output to it, and then we > drop the lines that start with a '#', but due to the "-n", the first # > ends up being at the end of the line. > > I suspect that when we get the commit message like that, we should _not_ > do any of the commit message editing at all. True. -- >8 -- [PATCH] 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@xxxxxxx> --- git-commit.sh | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) 475443c8489d9167b944367d8ec8bfef77bee0a5 diff --git a/git-commit.sh b/git-commit.sh index 1e7c09e..bd3dc71 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 -- 1.3.0.rc3.g72c1 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html