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>
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 () {
esac
}
-no_commit= replay= edit=
+no_commit= replay=
while case "$#" in 0) break ;; esac
do
case "$1" in
--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
;;
# 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