X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-format-patch.sh;h=01508e3b04f91bba3e960eb74eaff3e349e209bd;hb=ee34518d629331dadd58b1a75294369d679eda8b;hp=1eebe857c021495b92d9e39ec1193b85ab4e980e;hpb=9cac9d368934f68e75810df95211a6522d4d139e;p=git.git diff --git a/git-format-patch.sh b/git-format-patch.sh index 1eebe857..01508e3b 100755 --- a/git-format-patch.sh +++ b/git-format-patch.sh @@ -3,19 +3,8 @@ # Copyright (c) 2005 Junio C Hamano # -. git-sh-setup - -# Force diff to run in C locale. -LANG=C LC_ALL=C -export LANG LC_ALL - -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, +USAGE='[-n | -k] [-o | --stdout] [--signoff] [--check] [--mbox] [--diff-options] []' +LONG_USAGE='Prepare each commit with its patch since our-head forked from upstream, one file per patch, for e-mail submission. Each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename. @@ -28,10 +17,12 @@ as "[PATCH N/M] Subject", unless you have only one patch. When --mbox is specified, the output is formatted to resemble UNIX mailbox format, and can be concatenated together for processing -with applymbox. -' - exit 1 -} +with applymbox.' +. git-sh-setup + +# Force diff to run in C locale. +LANG=C LC_ALL=C +export LANG LC_ALL diff_opts= LF=' @@ -254,6 +245,15 @@ Date: '"$ad" } total=`wc -l <$series | tr -dc "[0-9]"` +case "$total,$numbered" in +1,*) + numfmt='' ;; +*,t) + numfmt=`echo "$total" | wc -c` + numfmt=$(($numfmt-1)) + numfmt=" %0${numfmt}d/$total" +esac + i=1 while read commit do @@ -262,10 +262,7 @@ do case "$numbered" in '') num= ;; *) - case $total in - 1) num= ;; - *) num=' '`printf "%d/%d" $i $total` ;; - esac + num=`printf "$numfmt" $i` ;; esac file=`printf '%04d-%stxt' $i "$title"`