From a88407b43212fc319e5a1b87cdfbec5340ac52b6 Mon Sep 17 00:00:00 2001 From: Baris Metin Date: Thu, 17 Jun 2010 18:48:29 +0200 Subject: [PATCH] mirror and merge git repositories --- scripts/git-mirror.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 scripts/git-mirror.sh diff --git a/scripts/git-mirror.sh b/scripts/git-mirror.sh new file mode 100644 index 0000000..434b7e8 --- /dev/null +++ b/scripts/git-mirror.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +MIRROR="git://git.planet-lab.org" +LOCAL="/git" + +function mirror () { + for arg in "$@" ; do + REPO=${arg} + REPO_NAME=${REPO}.git + MIRROR_REPO=${MIRROR}/${REPO_NAME} + LOCAL_REPO=${LOCAL}/${REPO_NAME} + + if [ -d ${REPO} ] + then + echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pulling from ${REPO_NAME}" + pushd ${REPO} + git pull --tags + git pull + popd + else + echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mirroring in ${REPO_NAME} for the first time" + git clone ${MIRROR_REPO} + pushd ${REPO} + git remote add local_master ${LOCAL_REPO} + popd + fi + + echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pushing ${REPO_NAME} to local master" + pushd ${REPO} + git push local_master + git push --tags local_master + popd + done +} + +args="$@" +[[ -z "$args" ]] && args=$(ls /svn) + +mirror $args + -- 2.47.0