X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fgit-check.sh;h=4593317f140caaf2cd97d6f1d6dc77702384f96a;hb=2bb2ef3f12a300a878c6a84c0cf4eb48e679b3c6;hp=80ff1cf82312ced32db9f1b26430c65b75a59557;hpb=8df1c87e20847dc7b895742f04a6b913e442126f;p=infrastructure.git diff --git a/scripts/git-check.sh b/scripts/git-check.sh index 80ff1cf..4593317 100755 --- a/scripts/git-check.sh +++ b/scripts/git-check.sh @@ -1,5 +1,7 @@ #!/bin/sh +MLIST="git@onelab.eu" + cd /git gitwebfiles="git-favicon.png git-logo.png gitweb.cgi gitweb.css" @@ -24,6 +26,7 @@ function missing_gitweb () { } + function fill_descriptions () { echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking descriptions " for arg in "$@" ; do @@ -36,21 +39,48 @@ function fill_descriptions () { echo "" } -function upload_archives () { - echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking configs for uploadarch " +function check_permissions () { + echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking permissions " for arg in "$@" ; do # accept args like plcapi or plcapi.git b=$(basename $arg .git) git=${b}.git echo -n "$git " - if ! grep -q uploadarch $git/config ; then - echo -n $i "Setting.. "; - cat >> $git/config <& /dev/null || { git config core.sharedrepository true; echo -n "sharedrepository "; } + git config daemon.uploadpack >& /dev/null || { git config daemon.uploadpack true; echo -n "uploadpack "; } + git config daemon.uploadarch >& /dev/null || { git config daemon.uploadarch true; echo -n "uploadarch "; } + (git config hooks.mailinglist|grep $MLIST) >& /dev/null || { git config hooks.mailinglist $MLIST; echo -n "mailinglist "; } + (git config hooks.announcelist|grep $MLIST) >& /dev/null || { git config hooks.announcelist $MLIST; echo -n "announcelist "; } + (git config hooks.envelopesender|grep $MLIST) >& /dev/null || { git config hooks.envelopesender $MLIST; echo -n "envelopesender "; } + git config hooks.emailprefix >& /dev/null || { git config hooks.emailprefix ''; echo -n "emailprefix "; } + cd - >& /dev/null + done + echo "" +} + +function check_hooks () { + echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking hooks " + for arg in "$@" ; do + # accept args like plcapi or plcapi.git + b=$(basename $arg .git) + git=${b}.git + echo -n "$git " + # standard version is in /usr/share/doc/git-1.5.5.6/hooks/post-receive-email + (cd $git/hooks; cp -f /root/bin/post-receive-email-with-diffs post-receive; chmod 755 post-receive ) done echo "" } @@ -59,4 +89,6 @@ EOF args="$@" [[ -z "$args" ]] && args=$(ls -d *.git) fill_descriptions $args -upload_archives $args +check_permissions $args +check_configs $args +check_hooks $args