From: Greg Kroah-Hartman Date: Mon, 4 Jan 2010 23:33:47 +0000 (-0800) Subject: added c2p script X-Git-Tag: v2.6.31.10~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e22a46706daa73c127c773ca296c2f70ab33d05;p=thirdparty%2Fkernel%2Fstable-queue.git added c2p script --- diff --git a/scripts/c2p b/scripts/c2p new file mode 100755 index 00000000000..d0398edce71 --- /dev/null +++ b/scripts/c2p @@ -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 = ) { + $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/" +#