merge-recursive: handle D/F conflict case more carefully.
[gitweb.git] / git-applymbox.sh
index 24d4a8cb4eb95a5201c205be879d3ac6a62a8a15..3efd6a746407bdc38ba9d251332427c508e5ee40 100755 (executable)
 ##
 ## git-am is supposed to be the newer and better tool for this job.
 
+USAGE='[-u] [-k] [-q] [-m] (-c .dotest/<num> | mbox) [signoff]'
 . git-sh-setup
 
-usage () {
-    echo >&2 "applymbox [-u] [-k] [-q] [-m] (-c .dotest/<num> | mbox) [signoff]"
-    exit 1
-}
+git var GIT_COMMITTER_IDENT >/dev/null || exit
 
-keep_subject= query_apply= continue= utf8= resume=t
+keep_subject= query_apply= continue= utf8=-u resume=t
 while case "$#" in 0) break ;; esac
 do
        case "$1" in
        -u)     utf8=-u ;;
+       -n)     utf8=-n ;;
        -k)     keep_subject=-k ;;
        -q)     query_apply=t ;;
        -c)     continue="$2"; resume=f; shift ;;
-       -m)     fallback_3way=t ;;
+       -m)     fall_back_3way=t ;;
        -*)     usage ;;
        *)      break ;;
        esac
@@ -78,6 +77,10 @@ do
     *)
            git-mailinfo $keep_subject $utf8 \
                .dotest/msg .dotest/patch <$i >.dotest/info || exit 1
+           test -s .dotest/patch || {
+               echo "Patch is empty.  Was is split wrong?"
+               exit 1
+           }
            git-stripspace < .dotest/msg > .dotest/msg-clean
            ;;
     esac