dotest=$GIT_DIR/.dotest-merge
prec=4
verbose=
+git_am_opt=
continue_merge () {
test -n "$prev_head" || die "prev_head must be defined"
-v|--verbose)
verbose=t
;;
+ -C*)
+ git_am_opt=$1
+ shift
+ ;;
-*)
usage
;;
git-update-index --refresh || exit
diff=$(git-diff-index --cached --name-status -r HEAD)
case "$diff" in
-?*) echo "$diff"
+?*) echo "cannot rebase: your index is not up-to-date"
+ echo "$diff"
exit 1
;;
esac
git-checkout "$2" || usage
;;
*)
- branch_name=`git symbolic-ref HEAD` || die "No current branch"
- branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
+ if branch_name=`git symbolic-ref -q HEAD`
+ then
+ branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
+ else
+ branch_name=HEAD ;# detached
+ fi
;;
esac
branch=$(git-rev-parse --verify "${branch_name}^0") || exit
if test -z "$do_merge"
then
git-format-patch -k --stdout --full-index --ignore-if-in-upstream "$upstream"..ORIG_HEAD |
- git am --binary -3 -k --resolvemsg="$RESOLVEMSG"
+ git am $git_am_opt --binary -3 -k --resolvemsg="$RESOLVEMSG"
exit $?
fi