X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fgit-mirror.sh;h=3f05125dfb8410fc4e0ba803ef78e58b953b08c2;hb=a8aa1baef6f4d1df60f44d1d542912acff913226;hp=b95980448a2e0650d65074dce5cc7a0004752a12;hpb=847e1a755d3974e4b7a4b6fd6f31081f77f8d597;p=infrastructure.git diff --git a/scripts/git-mirror.sh b/scripts/git-mirror.sh index b959804..3f05125 100755 --- a/scripts/git-mirror.sh +++ b/scripts/git-mirror.sh @@ -2,7 +2,7 @@ COMMAND=$(basename $0) # for sending emails (-a option) -ADMINS="Thierry.Parmentelat@inria.fr baris@metin.org" +ADMINS="Thierry.Parmentelat@inria.fr" # the other end of the mirror (-r option) REMOTE_GIT="git://git.planet-lab.org" # options @@ -144,6 +144,13 @@ function mirror_repo () { REMOTE_REPO=${REMOTE_GIT}/${GIT_NAME} MASTER_REPO=${MASTER_GIT}/${GIT_NAME} + # if the local master is a symlink (like /git/vserver-reference.git -> sliceref.git) + # then skip it + # we use this for either aliases (like vserver-reference and sliceimage) or + # for repos managed in other locations (like /git-slave) but where + # the symlink is needed so they get served by git-daemon + [ -h ${MASTER_REPO} ] && return + # if there is no remote repository it may be that we only have # the repository locally and don't need to mirror git ls-remote $REMOTE_REPO &> /dev/null || return @@ -206,7 +213,7 @@ function usage () { exit 1 } -while getopts "a:r:qvfh" opt; do +while getopts "a:r:s:qvfh" opt; do case $opt in a) ADMINS=$OPTARG ;; r) REMOTE_GIT=$OPTARG ;;