Not acessing SVN

Hi,
I running SVN version 1.9.4 (r1740329) in suse 42.2 leap, i created repository in /srv/svnrepo/

I edited /etc/sysconfig/svnserve file to ->SVNSERVE_OPTIONS="-d -r /srv/svnrepo" userid and group id to root,

I created a test project, i am able to open from TortoiseSVN from another Pc, and not able to write to it, it was getting errors as Can’t open file ‘/svn/svnrepo/test/db/txn-current-lock’: Permission denied

and i edited and changed the permissions to that file, and i am getting this error, Can’t write ‘/srv/svnrepo/test/db/txn-current’ atomically, Can’t move ‘/srv/svnrepo/test/db/svn-gAg0Nz’ to ,

‘/srv/svnrepo/test/db/txn-current’: Operation not permitted

Please help me out,
Thanks in advance

When describing your error…

  • Don’t just describe, post the exact commands you use to set up and configure.
  • Place any commands and their results in CODE tags, it’s the hash(#) button in the editing toolbar.

TSU

Apache Subversion (SVN) has to be set-up with care.

  1. It’s a version control (revision control) system which easily supports large teams of programmers – i.e. large projects.
  2. Normally, the “/srv/svn/” directory tree is located on a RAID of a server system.
  3. Quite often, the “/srv/svn/” directory tree is mirrored to other servers.
  4. A small local “/srv/svn/” directory tree is possible but, the “trick” is (AFAIK) not documented by the Apache folks.

The Apache Subversion documentation is available here: <https://subversion.apache.org/docs/&gt;.
There is also the “subversion-doc” package available for Leap 42.2 – it contains the Red Bean (O’Reilly) Subversion book.

  • What you possibly need is in Chapter 5. “Repository Administration”; subsection “Creating and Configuring your Repository”.

The preceding sections possibly also need to be read: “The Subversion Repository, Defined” and “Strategies for Repository Deployment”.
Please be aware that, the instructions written by the Apache folks are mostly related a remote Subversion repository.
Chapter 6. “Server Configuration” possibly also needs to be read.
[HR][/HR]Now for the undocumented “trick”:

  1. Do not mess with the directory and file ownerships set-up by the Subversion administration routines.
  2. Having said that, if you wish to use a Subversion repository locally, you will have to learn the use of Access Control Lists on directory structures.

It’s a little bit tricky and messy but, with the concealed use of ACLs a local user can quite happily read from and write to a local project controlled by Subversion.
If I remember correctly, you only need to provide local user access via ACLs to a couple of the directories typically required by projects being managed by Integrated Development Environments (IDE) such as KDevelop.

Can’t open file ‘/srv/svnrepo/HMI/db/txn-current-lock’: Permission denied, can you help me out

If you’re attempting to access a file controlled by Subversion by means of Linux file utilities with default Linux user permissions, this will fail – the directories and files in the “/srv/svn/” tree are owned by the Subversion system user “svn” – the Subversion system user is a member of the “svn” system group.

If you were to attempt to simply add your users to the “svn” system user group this could possibly work but, my experience is that it’s better to allow the local users to access the project directories controlled by Subversion by means of ACLs.

Even better, would be to enable the Subversion server on the system, and then have the local users access the repositories maintained by Subversion in the “normal” way via the network, either via the Internet name of the host or, via “localhost”.

FYI -
As described, there are very specific ways for things to be done and might not be entirely obvious.

Although also likely available online,
You can install the complete subversion “book” which should be relevant although written for 1.8

zypper in subversion-doc

It’ll describe numerous ways to set up security, so you’ll have to figure out what documentation applies to however you’re set up.
If helpful, there is a specific part of the documentation about locks you can read…
Once installed, it’ll be at the following URL

file:///usr/share/doc/packages/subversion/html/book/svn-book.html#svn.advanced.locking

TSU