#!/bin/sh # # Creates an SVN repository with a single file and a single commit. # # Copyright (C) 2012 Codethink Limited # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. set -e # create the repository repo="$DATADIR/svn-test-repo" svnadmin create "$repo" # setup authentication sed -i -r -e 's/^# (password-db.*)/\1/g' "$repo/conf/svnserve.conf" sed -i -r -e 's/^# (anon-access.*)/\1/g' "$repo/conf/svnserve.conf" sed -i -r -e 's/^# (auth-access.*)/\1/g' "$repo/conf/svnserve.conf" echo "lorry = test" >> "$repo/conf/passwd" # create a local working copy workingcopy="$DATADIR/svn-test-checkout" svn checkout "file://$repo" "$workingcopy" cd "$workingcopy" # create the typical repository structure svn mkdir branches tags trunk # add the test file echo "first line" > trunk/test.txt svn add trunk/test.txt # make a commit svn commit \ --username lorry \ --password test \ --no-auth-cache \ -m "first commit" # delete the working copy cd "$DATADIR" rm -r "$workingcopy" # create the .lorry file for the repository cat < $DATADIR/svn-test-repo.lorry { "svn-test-repo": { "type": "svn", "url": "file://$repo", "layout": "standard" } } EOF # create the working directory test -d "$DATADIR/work-dir" || mkdir "$DATADIR/work-dir"