]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
added c2p script
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 4 Jan 2010 23:33:47 +0000 (15:33 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 4 Jan 2010 23:33:47 +0000 (15:33 -0800)
scripts/c2p [new file with mode: 0755]

diff --git a/scripts/c2p b/scripts/c2p
new file mode 100755 (executable)
index 0000000..d0398ed
--- /dev/null
@@ -0,0 +1,97 @@
+#!/usr/bin/perl -W
+#
+# convert git commit id to a pretty patch we can apply to the stable tree
+#
+# Written in perl because the bash version is broken, it doesn't pass
+# through the patch correctly :(
+#
+
+my $base_id = "";
+my $line;
+my $firstline = "true";
+my $git_id;
+my $header_complete = "false";
+my $tmpfile;
+
+$base_id = shift;
+
+if ($base_id eq "") {
+       print "must provide git id\n";
+       die;
+}
+
+#print "handing commit id $base_id\n";
+
+$tmpfile = `mktemp patch.XXXXX` || die "Failed to run mktemp";
+chomp($tmpfile);
+$from = `git show --pretty=email $base_id | head -n 2 | grep "From: "` || die "Failed to run git";
+
+open FILE, ">$tmpfile" || die "Failed to create $tmpfile";
+open GIT, "git show --pretty=email $base_id |" || die "Failed to run git";
+
+while ($line = <GIT>) {
+       $line =~ s/^Subject: \[PATCH\]/Subject:/;
+#      if (($line =~ m/^diff --git/) {
+               print FILE $line;
+#      }
+       if ($firstline eq "true") {
+               my @from = split(/ /, $line);
+               $git_id = $from[1];
+               #print "git_id = $git_id\n";
+               $firstline = "false";
+       }
+       if ($header_complete eq "false") {
+               if ($line eq "\n") {
+                       print FILE "$from\n";
+                       print FILE "commit $git_id upstream.\n\n";
+                       $header_complete = "true";
+               }
+       }
+}
+close GIT;
+close FILE;
+
+#print "$tmpfile\n";
+
+system "vim $tmpfile";
+$new_file = `rename-patch $tmpfile`;
+chomp($new_file);
+system "mv $new_file ~/linux/stable/";
+print "moved $new_file to ~/linux/stable/\n"
+
+#TMPFILE1=`mktemp patch.XXXXXX` || exit 1
+#TMPFILE2=`mktemp patch.XXXXXX` || exit 1
+#
+#GIT_ID=`git show $COMMIT_ID | head -n 1 | cut -f 2 -d ' '`
+#FROM=`git show --pretty=email $COMMIT_ID | head -n 2 | grep "From: "`
+#
+#git show --pretty=email $COMMIT_ID > $TMPFILE1
+#
+#HEADER_COMPLETE=false
+#while read line
+#do
+#      # Strip out the [PATCH] portion of the subject line, it's annoying.
+#      new=`echo "$line" | sed -e 's/^Subject: \[PATCH\]/Subject:/g'`
+#
+#      # copy the line out to the new file
+#      echo "$new" >> $TMPFILE2
+#
+#      # add our special text (author and git id) right before
+#      # the changelog text happens.
+#      if [ "$line" == "" ] ; then
+#              if [ $HEADER_COMPLETE == false ] ; then
+#                      echo "$FROM" >> $TMPFILE2
+#                      echo "" >> $TMPFILE2
+#                      echo "commit $GIT_ID upstream." >> $TMPFILE2
+#                      echo "" >> $TMPFILE2
+#                      HEADER_COMPLETE=true
+#              fi
+#      fi
+#done < $TMPFILE1
+#rm $TMPFILE1
+#vim $TMPFILE2
+#PATCH=`rename-patch $TMPFILE2`
+#mv $PATCH ~/linux/stable/
+#
+#echo "moved $PATCH to ~/linux/stable/"
+#