Wrapping up a short series on some of the hidden gems of SVN Access Control, let’s take a look at using regular expressions to handle some advanced Subversion access control problems. The example I’ll use today is granting all developers the right to commit into a subdirectory of otherwise restricted branches.
The repository starts with a typical trunk-branches-tags structure, and all of these branches and tags are read-only for most developers, but we’d like to let developers commit their personal configuration and environment settings into a debug folder in each branch.
Managing this problem for one branch is easy: just define a rule that grants read access to the branch and add a second rule that grants write access to the debug folder.
But I don’t want to have to list a write rule for each branch individually; that just doesn’t scale. Instead I’ll take advantage of SVN Access Control’s regular expressions to handle the job.
That’s probably the simplest example of using regular expressions to handle non-trivial access control rules. Another common example is restricting write access to build scripts (e.g. makefiles, build.xml, pom.xml).