James, +1. Thanks, I've merged this into `next`.
-igal On Fri, Sep 10, 2010 at 3:40 PM, James Turnbull <[email protected]> wrote: > > Signed-off-by: James Turnbull <[email protected]> > --- > lib/tasks/mail_patches.rake | 37 +++++++++++++++++++++++++++++++++++++ > 1 files changed, 37 insertions(+), 0 deletions(-) > create mode 100644 lib/tasks/mail_patches.rake > > diff --git a/lib/tasks/mail_patches.rake b/lib/tasks/mail_patches.rake > new file mode 100644 > index 0000000..757787a > --- /dev/null > +++ b/lib/tasks/mail_patches.rake > @@ -0,0 +1,37 @@ > +# Mail patches to the puppet-dev list > + > +desc "Send patch information to the puppet-dev list" > +task :mail_patches do > + if Dir.glob("00*.patch").length > 0 > + raise "Patches already exist matching '00*.patch'; clean up first" > + end > + > + unless %x{git status} =~ /On branch (.+)/ > + raise "Could not get branch from 'git status'" > + end > + branch = $1 > + > + unless branch =~ %r{^([^\/]+)/([^\/]+)/([^\/]+)$} > + raise "Branch name does not follow <type>/<parent>/<name> model; > cannot autodetect parent branch" > + end > + > + type, parent, name = $1, $2, $3 > + > + # Create all of the patches > + sh "git format-patch -C -M -s -n > --subject-prefix='PATCH/puppet-dashboard' #{parent}..HEAD" > + > + # And then mail them out. > + > + # If we've got more than one patch, add --compose > + if Dir.glob("00*.patch").length > 1 > + compose = "--compose" > + else > + compose = "" > + end > + > + # Now send the mail. > + sh "git send-email #{compose} --no-signed-off-by-cc --suppress-from --to > [email protected] 00*.patch" > + > + # Finally, clean up the patches > + sh "rm 00*.patch" > +end > -- > 1.7.2.2 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
