git-revert: make --edit default.
authorJunio C Hamano <junkio@cox.net>
Thu, 24 Nov 2005 00:56:55 +0000 (16:56 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 24 Nov 2005 01:19:37 +0000 (17:19 -0800)
Revert always should explain why, so make --edit the default,
unless stdin is not a terminal.  If you really don't want to say
anything, you can say "git-revert --no-edit $commit", or if you
are really sick, you could also say "git-revert $commit </dev/null".
But please don't.

You can also say "git-cherry-pick --edit $commit".  Not editting
the commit log message is the default for cherry-pick.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-revert.sh

index 05bd854f4b316a34020cd3a600be0518313f9319..4ba6912f0de972a95ec040aa9fb09af78ab2765b 100755 (executable)
@@ -7,11 +7,13 @@
 
 case "$0" in
 *-revert* )
+       test -t 0 && edit=-e
        me=revert ;;
 *-cherry-pick* )
+       edit=
        me=cherry-pick ;;
 * )
-       die "What are ou talking about?" ;;
+       die "What are you talking about?" ;;
 esac
 
 usage () {
@@ -25,7 +27,7 @@ usage () {
        esac
 }
 
-no_commit= replay= edit=
+no_commit= replay=
 while case "$#" in 0) break ;; esac
 do
        case "$1" in
@@ -33,12 +35,15 @@ do
            --no-commi|--no-commit)
                no_commit=t
                ;;
+       -e|--e|--ed|--edi|--edit)
+               edit=-e
+               ;;
+       -n|--n|--no|--no-|--no-e|--no-ed|--no-edi|--no-edit)
+               edit=
+               ;;
        -r|--r|--re|--rep|--repl|--repla|--replay)
                replay=t
                ;;
-       -e|--edit)
-               edit=t
-               ;;
        -*)
                usage
                ;;
@@ -164,10 +169,9 @@ echo >&2 "Finished one $me."
 # If we are revert, or if our cherry-pick results in a hand merge,
 # we had better say that the current user is responsible for that.
 
-[ "$edit" ] && ${EDITOR:-${VISUAL:-vi}} .msg
 case "$no_commit" in
 '')
-       git-commit -n -F .msg
+       git-commit -n -F .msg $edit
        rm -f .msg
        ;;
 esac