#!/bin/sh
+MLIST="git@onelab.eu"
+
cd /git
gitwebfiles="git-favicon.png git-logo.png gitweb.cgi gitweb.css"
echo ""
}
+function update_server_info () {
+ echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx updating server info "
+ for arg in "$@" ; do
+ # accept args like plcapi or plcapi.git
+ b=$(basename $arg .git)
+ git=${b}.git
+ echo -n "$git "
+ cd $git
+ git update-server-info
+ cd - >& /dev/null
+ done
+ echo ""
+}
+
function check_permissions () {
echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx checking permissions "
for arg in "$@" ; do
git=${b}.git
echo -n "$git "
cd $git
+ git config core.bare true; echo -n "bare ";
git config core.sharedrepository >& /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 >& /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 "; }
+ (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 ""
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 )
+ (cd $git/hooks; cp -f /root/bin/post-receive-email-with-diffs post-receive; chmod 755 post-receive )
done
echo ""
}
args="$@"
[[ -z "$args" ]] && args=$(ls -d *.git)
fill_descriptions $args
+update_server_info $args
check_permissions $args
check_configs $args
check_hooks $args