Add the sample git post-receive hook and update README
authorNelson Ferreira <nelson.ferreira@ieee.org>
Sat, 14 Jan 2012 05:04:35 +0000 (00:04 -0500)
committerNelson Ferreira <nelson.ferreira@ieee.org>
Sat, 14 Jan 2012 05:04:35 +0000 (00:04 -0500)
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
contrib/README
contrib/git-post-receive-hook.sample [new file with mode: 0644]

index 35ed106..b99a846 100644 (file)
@@ -5,20 +5,22 @@ useful.
 
 File List:
 =========
-       do_builds.sh..............automate builds
-       make-pkg.sh...............bash script to create a SXEmacs tar package
-       pop3.el.patch.............SXEmacs native OpenSSL goodies
-       report-build-failure.sh...bash script to send a build report failure
-       show-tty-256-colors.pl....Perl script to test 256 color output on terminal 
-       smtpmail.el.patch.........SXEmacs native OpenSSL goodies
-       starttls.el.patch.........SXEmacs native OpenSSL goodies
-       tar-build-failure.sh......bash script w/ tar of build report failure
-       tty-colors.c..............C program to check the terminal color definitions
+       do_builds.sh..................automate builds
+       git-post-receive-hook.sample..git hook to send email automatically for merge requests
+       git-to-steve.sh...............setup a for-steve branch to send patches to the master branch
+       make-pkg.sh...................bash script to create a SXEmacs tar package 
+       pop3.el.patch.................SXEmacs native OpenSSL goodies 
+        report-build-failure.sh.......bash script to send a build report failure 
+        show-tty-256-colors.pl........Perl script to test 256 color output on terminal
+       smtpmail.el.patch.............SXEmacs native OpenSSL goodies
+       starttls.el.patch.............SXEmacs native OpenSSL goodies
+       tar-build-failure.sh..........bash script w/ tar of build report failure
+        tty-colors.c..................C program to check the terminal color definitions
+
 
 More Info:
 =========
 
-
 do_builds.sh:
 ------------
 
@@ -45,6 +47,34 @@ To setup:
 
 Nelson Ferreira <njsf@sxemacs.org>
 
+
+git-post-receive-hook.sample
+----------------------------
+This hook is meant as git hook (ie to be placed in the hooks directory
+of your publicly accessible repository) as a way to automatically send
+emails when you want something to be merged to the master branch.
+
+It assumes you will use a for-steve branch, as git-to-steve.sh will do
+for you, so it will only send emails for changes to that branch.
+
+This script will not send an email on a "fast-forward" or "merge"
+commit, so that you won't bother Steve if you keep a long lived
+for-steve branch, and even share it accross machines...
+
+Nelson Ferreira <njsf@sxemacs.org>
+
+
+git-to-steve.sh
+---------------
+
+This script will check your git configuration, give you some
+recommendations of changes and create a for-steve branch so that you
+use the same convention as the other SXEmacs developers to contribute
+to the SXEmacs project.
+
+Nelson Ferreira <njsf@sxemacs.org>
+
+
 make-pkg.sh:
 -------------
 This script conveniently creates a tar from your workspace for use
diff --git a/contrib/git-post-receive-hook.sample b/contrib/git-post-receive-hook.sample
new file mode 100644 (file)
index 0000000..4be5840
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# An example hook script for the "post-receive" event.
+#
+# (C) 2012 Nelson Ferreira
+# 
+#  
+# This program is free software; you can redistribute it and/or modify it
+# under a BSD-like licence.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# Neither the name of the Technical University of Berlin nor the names of its
+# contributors may be used to endorse or promote products derived from this
+# software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# --------
+# 
+# You might need to adjust the GIT_CONTRIB_HOOKS location.
+# Recent versions of git will have post-receive-email.
+# Check at http://git-scm.org for the latest version
+#
+# The "post-receive" script is run after receive-pack has accepted a pack
+# and the repository has been updated.  It is passed arguments in through
+# stdin in the form
+#  <oldrev> <newrev> <refname>
+# For example:
+#  aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master
+#
+# see contrib/hooks/ for a sample, or uncomment the next line and
+# rename the file to "post-receive".
+GIT_CONTRIB_HOOKS=/usr/share/doc/git-core/contrib/hooks
+read oldrev newrev refname
+if [ "$refname" = "refs/heads/for-steve" ]; then
+   diff=$(git diff ${oldrev}..${newrev} | head -1)
+   if [ -n "$diff" ]; then
+        echo "$oldrev $newrev $refname" | . ${GIT_CONTRIB_HOOKS}/post-receive-email
+   fi
+fi