combine-diff: do not punt on removed or added files.
[git.git] / git-commit.sh
index 7e39c10..10946ed 100755 (executable)
@@ -148,7 +148,7 @@ esac
 
 if [ -f "$GIT_DIR/MERGE_HEAD" ]; then
        echo "#"
-       echo "# It looks like your may be committing a MERGE."
+       echo "# It looks like you may be committing a MERGE."
        echo "# If this is not correct, please remove the file"
        echo "# $GIT_DIR/MERGE_HEAD"
        echo "# and try again"
@@ -165,6 +165,7 @@ then
        then
                pick_author_script='
                /^author /{
+                       s/'\''/'\''\\'\'\''/g
                        h
                        s/^author \([^<]*\) <[^>]*> .*$/\1/
                        s/'\''/'\''\'\'\''/g
@@ -206,6 +207,14 @@ then
 fi
 case "$no_edit" in
 '')
+       case "${VISUAL:-$EDITOR},$TERM" in
+       ,dumb)
+               echo >&2 "Terminal is dumb but no VISUAL nor EDITOR defined."
+               echo >&2 "Please supply the commit log message using either"
+               echo >&2 "-m or -F option.  A boilerplate log message has"
+               echo >&2 "been prepared in $GIT_DIR/COMMIT_EDITMSG"
+               exit 1 ;;
+       esac
        ${VISUAL:-${EDITOR:-vi}} "$GIT_DIR/COMMIT_EDITMSG"
        ;;
 esac