From 1855c044629a02488baa1bd25ae45341da33bd4e Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 8 Jul 2005 19:27:15 -0700 Subject: [PATCH] [PATCH] format-patch: fix skipping of blank-lines If it is fed a commit with more than one leading blank lines, the sed scripts git-format-patch-script used looped forever. Using git-stripspace upfront makes the sed script somewhat simpler to work around this problem. Also use git-rev-parse so that we can say $ git-format-patch-script HEAD^^^^ to prepare the latest four patches for e-mail submission. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds --- git-format-patch-script | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/git-format-patch-script b/git-format-patch-script index a07e30e8..9d26c9c4 100755 --- a/git-format-patch-script +++ b/git-format-patch-script @@ -53,6 +53,8 @@ case "$#" in 1) linus="$1" junio=HEAD ;; *) usage ;; esac +junio=`git-rev-parse --verify "$junio"` +linus=`git-rev-parse --verify "$linus"` case "$outdir" in */) ;; @@ -66,9 +68,9 @@ trap 'rm -f $tmp-*' 0 1 2 3 15 series=$tmp-series titleScript=' - 1,/^$/d - : loop - /^$/b loop + /./d + /^$/n + s/^\[PATCH[^]]*\] *// s/[^-a-z.A-Z_0-9]/-/g s/\.\.\.*/\./g s/\.*$// @@ -76,6 +78,7 @@ titleScript=' s/^-// s/-$// s/$/./ + p q ' @@ -88,7 +91,9 @@ total=`wc -l <$series` i=$total while read commit do - title=`git-cat-file commit "$commit" | sed -e "$titleScript"` + title=`git-cat-file commit "$commit" | + git-stripspace | + sed -ne "$titleScript"` case "$numbered" in '') num= ;; *) @@ -102,16 +107,17 @@ do echo "$file" { mailScript=' - 1,/^$/d - : loop - /^$/b loop + /./d + /^$/n s|^|[PATCH'"$num"'] | : body p n b body' - git-cat-file commit "$commit" | sed -ne "$mailScript" + git-cat-file commit "$commit" | + git-stripspace | + sed -ne "$mailScript" echo '---' echo git-diff-tree -p $diff_opts "$commit" | git-apply --stat --summary -- 2.11.0