Signed-off-by: Peter Jones <pjo...@redhat.com>
---
 git-am.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/git-am.sh b/git-am.sh
index c682d34..ebcbff7 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -216,6 +216,21 @@ check_patch_format () {
                read l2
                read l3
                case "$l1" in
+                "commit "*)
+                        case "$l2" in
+                        "Author: "*)
+                                case "$l3" in
+                                "Date: "*)
+                                        patch_format=gitshow
+                                        ;;
+                                *)
+                                        ;;
+                                esac
+                                ;;
+                        *)
+                                ;;
+                        esac
+                        ;;
                "From "* | "From: "*)
                        patch_format=mbox
                        ;;
@@ -321,6 +336,37 @@ split_patches () {
                this=
                msgnum=
                ;;
+        gitshow)
+               this=0
+               for stgit in "$@"
+               do
+                       this=`expr "$this" + 1`
+                       msgnum=`printf "%0${prec}d" $this`
+                       # Perl version of The first nonemptyline after an
+                        # empty line is the subject, and the body starts with
+                        # the next nonempty line.
+                       perl -ne 'BEGIN { $subject = 0 }
+                               if ($subject > 1) { print ; }
+                               elsif (/^\s+$/) { next ; }
+                               elsif (/^Author:/) { s/Author/From/ ; print ;}
+                               elsif (/^(From|Date)/) { print ; }
+                                elsif (/^commit/) { next ; }
+                               elsif ($subject) {
+                                       $subject = 2 ;
+                                       print "\n" ;
+                                        s/^    // ;
+                                       print ;
+                               } else {
+                                       print "Subject: ", $_ ;
+                                       $subject = 1;
+                               }
+                       ' < "$stgit" > "$dotest/$msgnum" || clean_abort
+               done
+               echo "$this" > "$dotest/last"
+               this=
+               msgnum=
+               ;;
+
        hg)
                this=0
                for hg in "$@"
-- 
1.7.11.4

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

Reply via email to