# Copyright (c) 2005 Linus Torvalds
# Copyright (c) 2005 Junio C Hamano
#
-. git-sh-setup || die "Not a git archive"
+. git-sh-setup
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 () {
--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
;;
die "Your index file is unmerged."
;;
*)
- check_clean_tree || die "Cannot run $me from a dirty tree."
head=$(git-rev-parse --verify HEAD) ||
die "You do not have a valid HEAD"
+ files=$(git-diff-index --cached --name-only $head) || exit
+ if [ "$files" ]; then
+ die "Dirty index: cannot $me (dirty: $files)"
+ fi
;;
esac
q
}'
set_author_env=`git-cat-file commit "$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
case "$no_commit" in
'')
- git-commit -n -F .msg
+ git-commit -n -F .msg $edit
rm -f .msg
;;
esac