#!/bin/sh # svncreate is part of the repo_shell distribution. Please see COPYING. svndir=/var/lib/svn repodir=$svndir/repositories owner=repo if [ "$(whoami)" != "$owner" ]; then echo "$0: must run as user $owner" >&2 exit 1 fi if [ $# -ne 1 ]; then echo "usage: $0 " >&2 exit 1 fi if [ -e $repodir/$1 ]; then echo "$0: repository $1 already exists" >&2 exit 1 fi # Create the respository umask 027 svnadmin create --fs-type fsfs $repodir/$1 [ $? -ne 0 ] && exit 1 # Use global svnserve.conf if [ ! -e $svndir/svnserve.conf ]; then echo -e "[general]\nanon-access = none\nauth-access = write\nauthz-db = $svndir/global-authz.conf" > $svndir/svnserve.conf fi mv $repodir/$1/conf/svnserve.conf $repodir/$1/conf/svnserve.conf.orig ln -s ../../../svnserve.conf $repodir/$1/conf/svnserve.conf # Use default hook scripts mv $repodir/$1/hooks $repodir/$1/hooks.orig ln -s ../../hooks $repodir/$1/hooks if [ ! -d $svndir/hooks ]; then echo "$0: WARNING: no hooks directory $svndir/hooks" >&2 fi echo "Repository created. Be sure to edit $svndir/global-authz.conf to allow user access." exit 0