aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/git-post-receive-hook23
-rwxr-xr-xtools/git-update-mirror94
2 files changed, 23 insertions, 94 deletions
diff --git a/tools/git-post-receive-hook b/tools/git-post-receive-hook
new file mode 100755
index 00000000..70d259e7
--- /dev/null
+++ b/tools/git-post-receive-hook
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+prefix="${0%/*}/notifications" # $GIT_DIR/hooks/notifications
+recipient='Nagios Plugin Commits <nagiosplug-checkins@lists.sourceforge.net>'
+maxcommits=100
+maxdiffsize=$((300 * 1024))
+gitweburl='http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug'
+gitnotify="$prefix/git-notify.pl"
+statefile="$prefix/git-notify.dat"
+
+exec "$gitnotify" \
+ -m "$recipient" \
+ -n "$maxcommits" \
+ -s "$maxdiffsize" \
+ -t "$statefile" \
+ -u "$gitweburl" \
+ -A \
+ -C \
+ -H \
+ -S \
+ -T \
+ -X \
+ -z
diff --git a/tools/git-update-mirror b/tools/git-update-mirror
deleted file mode 100755
index e258a123..00000000
--- a/tools/git-update-mirror
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2009 Nagios Plugins Development Team
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-set -e
-set -u
-
-prefix='/home/git'
-
-PATH="$prefix/opt/git/bin:/bin:/usr/bin"
-export PATH
-
-gitnotify="$prefix/libexec/git-notify"
-recipient='Nagios Plugins Commit List <nagiosplug-checkins@lists.sourceforge.net>'
-maxcommits=100
-maxdiffsize=$((300 * 1024))
-gitweburl='http://repo.or.cz/w'
-tempprefix='/dev/shm'
-fourtyzeros=$(printf '%.40u' 0)
-myself=${0##*/}
-
-checkrefs()
-{
- turn=$1
-
- git show-ref | while read object ref
- do
- refdir="$tempdir/${ref%/*}"
- reffile="$tempdir/$ref"
-
- if [ $turn -eq 2 -a -f "$reffile" ] \
- && grep "^1 $object$" "$reffile" >'/dev/null'
- then # The ref has not been modified.
- rm -f "$reffile"
- else
- mkdir -p "$refdir"
- echo "$turn $object" >>"$reffile"
- fi
- done
-}
-
-if [ $# -lt 1 ]
-then
- echo >&2 "Usage: $myself <repository> ..."
- exit 1
-fi
-
-tempdir=$(mktemp -d "$tempprefix/$myself.XXXXXX")
-tempfile=$(mktemp "$tempprefix/$myself.XXXXXX")
-trap 'rm -rf "$tempdir" "$tempfile"' EXIT
-
-for repository in "$@"
-do
- cd "$repository"
-
- checkrefs 1
- if ! git remote update --prune >"$tempfile" 2>&1
- then
- cat >&2 "$tempfile"
- exit 1
- fi
- git fetch --quiet --tags
- checkrefs 2
-
- find "$tempdir" -type 'f' -print | while read reffile
- do
- ref=${reffile#$tempdir/}
- old=$(awk '$1 == "1" { print $2; exit }' "$reffile")
- new=$(awk '$1 == "2" { print $2; exit }' "$reffile")
- old=${old:-$fourtyzeros}
- new=${new:-$fourtyzeros}
-
- echo "$old" "$new" "$ref"
- done | $gitnotify \
- -m "$recipient" \
- -n "$maxcommits" \
- -s "$maxdiffsize" \
- -u "$gitweburl"
-
- cd "$OLDPWD"
-done