I have my subversion repository data on a server that several people around the office access. If I give Full Control permissions to Everyone I am able to commit successfully. However, if I give Everyone read permissions only and give my own username Full Control, commits fail (yes, I am logged in). Why is this?
Is there a way to give svn write access in Windows? I don’t want others to be able to browse to this folder location and make modifications, but do not mind if it’s modified via other users’ svn clients.
You cannot share a Subversion repository via file:/// in the first place. Does it technically work? Yes. Until it doesn’t. You are at risk of losing or corrupting your whole repository with a single errant keystroke because all users must have full control of the repository directory structure.
There is no security possible with file:/// access. Additionally, any hook scripts execute on the computer that is committing, which you may not have full control over – your hooks may fail, or may not work in the way you intend.
The file:/// access method is designed only for local, single-user usage and testing. It was never intended to be used in production/with a team.
You need to set up an actual Subversion server over the svn:// protocol or HTTP. Then do all of your access controls via Subversion’s own authorization methods. And restrict access to the repository on the filesystem to only the user account under which your server process runs.
If you want to use Active Directory accounts & groups to manage your access, VisualSVN Server is probably the easiest way to go.