svn

Is there any way to view own svn permissions


I need to view svn permissions assigned to me. Is there any way to do it with out accessing to svn configuration files?


Solution

  • The answer is: it depends, but normally no.

    Subversion has no concept of permissions or users or logins. That might sound strange to the vast majority of people who use Subversion since they need to use accounts and logins, but Subversion does not handle security directly.

    Instead, Subversion passes security control to the server that's acting as a Subversion server. For example, if you use Apache httpd, you could use Basic HTTP authentication, LDAP, or a wide variety of authentication mechanisms that Apache httpd can offer. If Apache httpd says you're cool, Subversion says you're cool.

    Even the base svnserve process can use anything that handles SASL authentication.

    Then, you have pre-commit hooks that can take away write permission from the user outside of the server's security mechanism.

    Now, it's possible for the security mechanism to tell you your permissions, but I've rarely seen it. For example, a simple JavaScript can display the user permissions from basic httpd authentication.

    I wrote a pre-commit hook that keeps its security control file inside the repository where everyone can view it. This allows a manager of a project to change the project's permissions without having to get onto the Subversion server (or more importantly, pester me to do it). However, even that doesn't tell you the permission from the server's authentication mechanism.

    So, the answer is probably no. There's probably no way to tell at your site what permissions you have with Subversion because even Subversion itself doesn't know.