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.

Reply via email to