#!/bin/sh GITOLITE_ADMIN="$HOME/Projects/gitolite-admin" gitdir=$(readlink -f "$(pwd)") name=`basename "$gitdir" | cut -d / -f 2 | cut -d ' ' -f 1` description="$1" if [ ! -d "$gitdir/.git" ]; then echo Not a git repo. exit 1 fi if [ -z "$description" ]; then echo You need to specify a description argument. exit 1 fi pushd "$GITOLITE_ADMIN/conf" > /dev/null echo "Writing config.." (echo echo " repo $name" echo " RW+CD = $(whoami)" echo " R = @all" echo " $name \"$(git config --get user.name)\" = \"$description\"") >> gitolite.conf git commit -a -m "Adding $name to repository." git push popd > /dev/null url=`git --git-dir=$GITOLITE_ADMIN/.git remote -v | grep push | cut -f 2 | cut -d ' ' -f 1 | sed "s/$(basename $GITOLITE_ADMIN)/$name/"` git remote rm origin 2> /dev/null git remote add origin $url git push -u --all git push --tags