config revisited
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 25 May 2010 07:21:01 +0000 (09:21 +0200)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 25 May 2010 07:21:01 +0000 (09:21 +0200)
scripts/git-check.sh

index 5b30f8f..9c98c72 100755 (executable)
@@ -24,6 +24,7 @@ function missing_gitweb () {
 
 }
 
+
 function fill_descriptions () {
     echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking descriptions "
     for arg in "$@" ; do
@@ -36,34 +37,46 @@ 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 <<EOF
-[daemon]
-       uploadpack = true
-       uploadarch = true
-EOF
-       fi
+       chown -R root:onelab $git
+       chmod -R g+w,o-w $git
     done
     echo ""
 }
 
-function check_permissions () {
-    echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking descriptions "
+function check_configs () {
+    echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking config (upload*, hooks...) "
     for arg in "$@" ; do
        # accept args like plcapi or plcapi.git
        b=$(basename $arg .git)
        git=${b}.git
        echo -n "$git "
-       chown -R root:onelab $git
-       chmod -R g+w,o-w $git
+       cd $git 
+       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 >& /dev/null || { git config hooks.mailinglist build@onelab.eu; echo -n "mailinglist "; }
+        git config hooks.announcelist >& /dev/null  || { git config hooks.announcelist  build@onelab.eu; echo -n "announcelist "; }
+        git config hooks.envelopesender >& /dev/null  || { git config hooks.envelopesender  build@onelab.eu; echo -n "envelopesender "; }
+        git config hooks.emailprefix >& /dev/null|| { git config hooks.emailprefix '[GIT]'; 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 "
+       (cd $git/hooks; [ -h post-receive ] || ln -sf /usr/share/doc/git-1.5.5.6/hooks/post-receive-email . )
     done
     echo ""
 }
@@ -72,5 +85,6 @@ function check_permissions () {
 args="$@"
 [[ -z "$args" ]] && args=$(ls -d *.git)
 fill_descriptions $args
-upload_archives $args
 check_permissions $args
+check_configs $args
+check_hooks $args