Introduces --keep-subjects flag to tell it not to munge the
first line of the commit message.  Running "git applymbox" on
the output from "git format-patch -m -k" would preserve the
original commit information better this way.

At the same time, prefix Subject: on the first line of the
commit, to help people cut&copy.

Signed-off-by: Junio C Hamano <[EMAIL PROTECTED]>
---

Marco Costalba <[EMAIL PROTECTED]> writes:

> The extra '[PATCH]' in the subject was introduced by git-format-patch --mbox.
> Perhaps I have made something wrong.

No, sorry, I noticed that myself after I wrote that message.
There should be an option to tell --mbox format not do that.  My
thinko. 

Adding [PATCH] on the subject line even in --mbox format should
also be supported for people who run "git send-email" to send
things out.  So there is a new option '-k' to keep the original
subject line for the "cherry-pick" operation.

This also changes it to always prefix "Subject: ".  I think it
makes the output look consistent, even without --mbox option,
and would help people cutting and pasting the Subject line,
depending on their MUAs (it would certainly help me), but at the
same time it may make cutting and pasting cumbersome for some
other people.  Opinions?  Objections?

------------

 git-format-patch-script |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

32128d94ab63ea65bb86cb7fa7425e51e0dfeeb0
diff --git a/git-format-patch-script b/git-format-patch-script
--- a/git-format-patch-script
+++ b/git-format-patch-script
@@ -6,7 +6,7 @@
 . git-sh-setup-script || die "Not a git archive."
 
 usage () {
-    echo >&2 "usage: $0"' [-n] [-o dir] [--mbox] [--check] [--signoff] [-<diff 
options>...] upstream [ our-head ]
+    echo >&2 "usage: $0"' [-n] [-o dir] [--keep-subject] [--mbox] [--check] 
[--signoff] [-<diff options>...] upstream [ our-head ]
 
 Prepare each commit with its patch since our-head forked from upstream,
 one file per patch, for e-mail submission.  Each output file is
@@ -44,6 +44,9 @@ do
     date=t ;;
     -m|--m|--mb|--mbo|--mbox)
     date=t author=t mbox=t ;;
+    -k|--k|--ke|--kee|--keep|--keep-|--keep-s|--keep-su|--keep-sub|\
+    --keep-subj|--keep-subje|--keep-subjec|--keep-subject)
+    keep_subject=t ;;
     -n|--n|--nu|--num|--numb|--numbe|--number|--numbere|--numbered)
     numbered=t ;;
     -s|--s|--si|--sig|--sign|--signo|--signof|--signoff)
@@ -64,6 +67,11 @@ do
     shift
 done
 
+case "$keep_subject$numbered" in
+tt)
+       die '--keep-subject and --numbered are incompatible.' ;;
+esac
+
 revpair=
 case "$#" in
 2)
@@ -142,21 +150,22 @@ do
     {
        mailScript='
        /./d
-       /^$/n
-       s|^\[PATCH[^]]*\] *||'
-
-       case "$mbox" in
-       t)
-           echo 'From nobody Mon Sep 17 00:00:00 2001' ;# UNIX "From" line
-           mailScript="$mailScript"'
-           s|^|Subject: [PATCH'"$num"'] |'
-           ;;
+       /^$/n'
+       case "$keep_subject" in
+       t)  ;;
        *)
            mailScript="$mailScript"'
+           s|^\[PATCH[^]]*\] *||
            s|^|[PATCH'"$num"'] |'
            ;;
        esac
-
+       mailScript="$mailScript"'
+       s|^|Subject: |'
+       case "$mbox" in
+       t)
+           echo 'From nobody Mon Sep 17 00:00:00 2001' ;# UNIX "From" line
+           ;;
+       esac
        eval "$(sed -ne "$whosepatchScript" $commsg)"
        test "$author,$au" = ",$me" || {
                mailScript="$mailScript"'


-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to