+++ /dev/null
-#!/bin/bash
-# git-push-public
-#
-# Push changes from local git repositories marked as public, via the
-# git-daemon-export-ok flag, to the public server.
-
-LOCALBASE=/var/lib/git
-PUBLICBASE=/var/cache/git
-PUBLICSERVER=oss.titaniummirror.com
-
-echo "Updating remote public repositories"
-cd $LOCALBASE
-for path in $(find . -name git-daemon-export-ok); do
- repo="${path/\/git-daemon-export-ok/}"
- repo="${repo/.\//}"
- echo "Repository $repo"
- if ! ssh $PUBLICSERVER test -d $PUBLICBASE/$repo ; then
- # Repo does not exist on public server, so create it
- echo "Creating repository $repo on remote"
- ssh $PUBLICSERVER git --git-dir=$PUBLICBASE/$repo init --bare
- ssh $PUBLICSERVER touch $PUBLICBASE/$repo/git-daemon-export-ok
- scp $repo/description $PUBLICSERVER:$PUBLICBASE/$repo/
- ssh $PUBLICSERVER "echo \"git://$PUBLICSERVER/$repo\" \
- > $PUBLICBASE/$repo/cloneurl"
- fi
- git --git-dir=$repo push --mirror $PUBLICSERVER:$PUBLICBASE/$repo
-done