X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=inline;f=git-applymbox.sh;h=1f68599ae51a671f8c7a3a01c6aa9c6b205dd217;hb=20f50f1670c18173d74a34527b0c538c3fbbfde3;hp=a83246cad86c1dc589a226420891074e7017ccfc;hpb=47f0b6d5d49247b85898083d1ccf4f899ef7294a;p=git.git diff --git a/git-applymbox.sh b/git-applymbox.sh index a83246cad..1f68599ae 100755 --- a/git-applymbox.sh +++ b/git-applymbox.sh @@ -15,23 +15,24 @@ ## Pay a special attention to the commit log message if you do this and ## use a Signoff_file, because applypatch wants to append the sign-off ## message to msg-clean every time it is run. +## +## git-am is supposed to be the newer and better tool for this job. -. git-sh-setup || die "Not a git archive" +USAGE='[-u] [-k] [-q] [-m] (-c .dotest/ | mbox) [signoff]' +. git-sh-setup -usage () { - echo >&2 "applymbox [-u] [-k] [-q] [-m] (-c .dotest/ | 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 @@ -42,7 +43,8 @@ case "$continue" in '') rm -rf .dotest mkdir .dotest - git-mailsplit "$1" .dotest || exit 1 + num_msgs=$(git-mailsplit "$1" .dotest) || exit 1 + echo "$num_msgs patch(es) to process." shift esac @@ -82,7 +84,11 @@ do do git-applypatch .dotest/msg-clean .dotest/patch .dotest/info "$signoff" case "$?" in - 0 | 2 ) + 0) + # Remove the cleanly applied one to reduce clutter. + rm -f .dotest/$i + ;; + 2) # 2 is a special exit code from applypatch to indicate that # the patch wasn't applied, but continue anyway ;;