X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-commit.sh;h=193feeb5e42f1a486a3aae42935cb98696a2baac;hb=d5a6aafc90a14382120727e4e81ee1a380e8b194;hp=96a884f3bcc67563f2e7e1cc3054d24ca51125dd;hpb=4bfe1199eabb41eb1f1d67f4ee24df028eb21300;p=git.git diff --git a/git-commit.sh b/git-commit.sh index 96a884f3..193feeb5 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -3,11 +3,8 @@ # Copyright (c) 2005 Linus Torvalds # -. git-sh-setup || die "Not a git archive" - -usage () { - die 'git commit [-a] [-v | --no-verify] [-m ] [-F ] [(-C|-c) ] [...]' -} +USAGE='[-a] [-s] [-v | --no-verify] [-m | -F | (-C|-c) ] [-e] [...]' +. git-sh-setup all= logfile= use_commit= no_edit= log_given= log_message= verify=t signoff= while case "$#" in 0) break;; esac @@ -92,10 +89,13 @@ tt*) esac case "$all,$#" in -t,*) +t,0) git-diff-files --name-only -z | git-update-index --remove -z --stdin ;; +t,*) + die "Cannot use -a and explicit files at the same time." + ;; ,0) ;; *) @@ -129,6 +129,9 @@ then elif test "$use_commit" != "" then git-cat-file commit "$use_commit" | sed -e '1,/^$/d' +elif test -f "$GIT_DIR/MERGE_HEAD" && test -f "$GIT_DIR/MERGE_MSG" +then + cat "$GIT_DIR/MERGE_MSG" fi | git-stripspace >"$GIT_DIR"/COMMIT_EDITMSG case "$signoff" in @@ -144,11 +147,8 @@ t) esac if [ -f "$GIT_DIR/MERGE_HEAD" ]; then - - test -f "$GIT_DIR/MERGE_MSG" && cat "$GIT_DIR/MERGE_MSG" - 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 @@ -184,7 +185,7 @@ then } ' set_author_env=`git-cat-file commit "$use_commit" | - sed -ne "$pick_author_script"` + LANG=C LC_ALL=C sed -ne "$pick_author_script"` eval "$set_author_env" export GIT_AUTHOR_NAME export GIT_AUTHOR_EMAIL