From 655f378af38ff5cd5593f7f7dbb6e77fdda2864a Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Wed, 1 Oct 2008 19:20:05 -0500 Subject: Adding a rake task for sending emails to the dev list Signed-off-by: Luke Kanies --- Rakefile | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/Rakefile b/Rakefile index a934fff81..45d365247 100644 --- a/Rakefile +++ b/Rakefile @@ -161,3 +161,39 @@ desc "Run the unit tests" task :unit do sh "cd test; rake" end + +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 // 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 #{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-chain-reply-to --no-signed-off-by-cc --suppress-from --no-thread --to puppet-dev@googlegroups.com 00*.patch" + + # Finally, clean up the patches + sh "rm 00*.patch" +end -- cgit