This is an old revision of the document!
Subversion how-to for NorStore
How it works
NorStore uses the svnserve server solution to connect local svn repositories to the internet.
For every new repository, an svnmerge demon is started as background process on the NorStore node noresg.norstore.uio.no. The svn repository recieves the URL svn://noresg.norstore.uio.no/<repository name>.
Prerequisites
To administer svn repositories on NorStore, following prerequisites must be fulfilled:
- you must have a user account at NorStore
- your NorStore user account must be member in the ns2345k group
- your NorStore user account must have access to noresg.norstore.uio.no
Users that fulfill these prerequisites can take local ns2345k repositories stored in (/projects/NN2345K/svn) online/offline and have the full flexibility to grant read/write access for NorStore svn repositories to external users (i.e., the normal use of the repositories does not require a NorStore account).
Creating a new repository
Log on to norstore.uio.no
via ssh.
Change directory to /projects/NS2345K/svn
.
Create a new svn repository with
svnadmin create testrepo
where testrepo
is to be replaced with a name of your choice.
The new repository is now set up in /projects/NS2345K/svn/testrepo
.
Customizing access rights
Edit testrepo/conf/svnserve.conf
for general customisation of access rights. IMPORTANT: Make sure to remove all leading blanks when activating an option.
The default is read/write access for authenticated users and no access for anonymous.
To limited access to read for authenticated users, change
# auth-access = write
to
auth-access = read
To grant anonymous read, change
# anon-access = none
to
anon-access = read
The users of the repository are defined in testrepo/conf/passwd
with user name and password, e.g.
[users] harry = harryssecret sally = sallyssecret guestuser = friendly
To activate the customisation, edit svnserve.conf
and uncomment the line
# password-db = passwd
to
password-db = passwd
Further fine tuning of access rights can be done in testrepo/conf/authz
. E.g.,
[/projects/NS2345K/svn/testrepo] guestuser = r
limits the access of the user guest-user
to read-only access. The authz
customisation is activated in svnserve.conf
by uncommenting
# authz-db = authz
to
authz-db = authz
Taking a repository online/offline
Log on to noresg.norstore.uio.no
via ssh.
To take a repository with name testrepo
online, do
svnserve -d -r /projects/NS2345K/svn/testrepo --log-file /projects/NS2345K/svn/testrepo/svnserve.log --pid-file /projects/NS2345K/svn/testrepo/svnserve.pid
An svnserve demon has now been started as a background process on noresg.norstore.uio.no. The process id is logged in /projects/NS2345K/svn/testrepo/svnserve.pid
.
To take the repository offline again, do
kill `cat /projects/NS2345K/svn/testrepo/svnserve.pid`
Remote access to repository
After taking the repository online, the URL of the repository testrepo
is svn://noresg.norstore.uio.no/testrepo
To checkout the repository, do
svn co svn://noresg.norstore.uio.no/testrepo
Change directory to testrepo
with
cd testrepo
Create a dummy file with
echo test > README
Commit the repository with
svn commit -m "my commit message"