diff options
-rwxr-xr-x | tools/git-post-receive-hook | 23 | ||||
-rwxr-xr-x | tools/git-update-mirror | 94 |
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 |