I have a svn repository using authz to control the access. The structure looks like this:
├── branches
│ └── bob
├── tags
└── trunk
└── A
├── B
│ └── README.txt
└── README.txt
Suppose the authz grants a user read access to directory A
but not B
, and it fails when I try to branch A
:
[hidden]$ svn copy A ^/branches/bob/A1 -m 'Branching A to branches/bob/A1'
Adding copy of A
svn: E220001: Commit failed (details follow):
svn: E220001: Access denied
The svnserve's log says
Authorization Failed recursive read /trunk/A
Why does svn has this restriction and is there a way to work around? Why doesn't it just ignore B
when branching, just the same as doing a checkout?
If this turns out to be impossible, then what's the best workflow for svn with authz? It looks if branching is not allowed, the only way is everyone working on the trunk, but this is too stupid.