X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=git-format-patch.sh;h=9b4088045a5d53ceb1b893e5f6bda575518d36c1;hb=2c4ed386e8861e730037abe4f4d9e032c5c46242;hp=5b93ff80a06f385c11cdaa6b5a41eaee5ae9cbc1;hpb=bd7c8aab7098e6e340060c0d7f1fab8595905b2d;p=git.git diff --git a/git-format-patch.sh b/git-format-patch.sh index 5b93ff80..9b408804 100755 --- a/git-format-patch.sh +++ b/git-format-patch.sh @@ -3,11 +3,12 @@ # Copyright (c) 2005 Junio C Hamano # -. git-sh-setup || die "Not a git archive." +. git-sh-setup usage () { echo >&2 "usage: $0"' [-n] [-o dir | --stdout] [--keep-subject] [--mbox] [--check] [--signoff] [-...] + [--help] ( from..to ... | upstream [ our-head ] ) Prepare each commit with its patch since our-head forked from upstream, @@ -63,6 +64,9 @@ do --output-directo|--output-director|--output-directory) case "$#" in 1) usage ;; esac; shift outdir="$1" ;; + -h|--h|--he|--hel|--help) + usage + ;; -*' '* | -*"$LF"* | -*' '*) # Ignore diff option that has whitespace for now. ;; @@ -95,13 +99,13 @@ filelist=$tmp-files # Also, "rev1.." should mean "rev1..HEAD"; git-diff users are # familiar with that syntax. -case "$#,$1" in +case "$#,$1$2" in 1,?*..?*) # single "rev1..rev2" ;; 1,?*..) # single "rev1.." should mean "rev1..HEAD" - set x "$1"HEAD" + set x "$1"HEAD shift ;; 1,*) @@ -127,7 +131,8 @@ do rev2=`expr "$revpair" : '.*\.\.\(.*\)'` ;; *) - usage + rev1="$revpair^" + rev2="$revpair" ;; esac git-rev-parse --verify "$rev1^0" >/dev/null 2>&1 || @@ -197,7 +202,7 @@ process_one () { ;; esac - eval "$(sed -ne "$whosepatchScript" $commsg)" + eval "$(LANG=C LC_ALL=C sed -ne "$whosepatchScript" $commsg)" test "$author,$au" = ",$me" || { mailScript="$mailScript"' a\ @@ -263,7 +268,7 @@ do file=`printf '%04d-%stxt' $i "$title"` if test '' = "$stdout" then - echo "* $file" + echo "$file" process_one >"$outdir$file" if test t = "$check" then @@ -274,7 +279,7 @@ do : fi else - echo >&2 "* $file" + echo >&2 "$file" process_one fi i=`expr "$i" + 1`