SVN helpfully allows you to restrict access at the repo level, then any subdirectory thereof (where it be tags, trunk, branches). It also allows the creation of user groups.
So:
[groups] core = coredev1,coredev2,coredev3,coredev4 wmfe = @core, wmfedev5, wmfedev6, wmfedev7 ext = @wmfe, extdev8, extdev9
[/] * = r @core = rw
[/trunk/phase3/extensions] @wmfe = rw
[/trunk/phase3/extensions/SomeExtension] @ext = rw
Any subdirectory IIRC inherits permissions. Unfortunately this means adding a rule per extension for the extension developers, so Happy is partially correct in that to really get simple configuration you might want phase3/wmfe-extensions and phase3/extensions to be separate directories in SVN, but no need for different repos. The problems with copying can obviously come into play with this model, but you get a simpler permission schema.
On Tue, Oct 4, 2011 at 6:20 PM, Yaron Koren yaron@wikiworks.com wrote:
Happy Melon - I should have clarified how I thought this should be implemented. I don't mean that any extensions should move locations - the fact that everything is in one big /extensions directory is quite helpful. I just mean that there should be some SVN settings so that only users with a certain permission level can modify the code in pre-specified directories under /extensions. I don't know much about SVN administration, but I assume that you can restrict access in that sort of semi-fine-grained way.
-Yaron
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l