Subversion, and moving mousepad in?

Jasper Huijsmans jasper at
Thu Mar 3 21:50:55 CET 2005

Brian J. Tarricone wrote:
> Ok, this complicates things.
> Auke Kok wrote:
>> technical comments coming up, please read carefully as they will 
>> influence the future layout:
>> options available:
>> 1. make one huge svn archive
>> (    a. everything under its own tree
>>     b. some things under a separate tree (core, plugins?)   )
>> - pro: you can move everything everywhere
>> - con: access control is hard: requires subversions pre-hook hack to 
>> separate people in groups, then assigning them writeable space
>> 2. make one svn repo per tree (module) (either grouping core or not)
>> - com: moving is hard: you're physically moving between different 
>> repos (although as far as I understand it's possible without problems).
>> - pro: fine-grained access is easy (same way we do cvs perms at the 
>> moment)
>> 3. use http auth / webdav method
>> - pro: huge fine-grained control possible
>> - con: large overhead on permission administration
>> - con: security (not using ssh)
> I'm not a big fan of #1 if it means that fine-grained permissions will 
> be hard.  I think #2 makes good sense - we rarely need to move files 
> between modules.  After we figure out exactly what will go where, there 
> probably won't be much of a need to do this.  #3 seems to really suck on 
> the security front.  Is there no security at all?  WebDAV works over 
> SSL, right?
> I think we're looking at this the wrong way.  We need to come up with a 
> list of requirements, and then figure out which setup best fits those 
> requirements.  Here's my first stab at such a list:
> * Flexible permissions.  We want to give translators access to (ideally) 
> just their own .po files.  In the common case, this will mean 
> restricting each translator to one file per module.
> * Xfce devs should have commit access to all of the Xfce core component 
> modules, but not other projects (xfmedia, mousepad, non-core panel 
> plugins).  It would be nice if non-core maintainers could easily give 
> commit access to others (that is, other people who already have commit 
> access to other parts of the repo), but this isn't a necessity.
> * Ability to group components.  It would be useful to be able to 
> designate certain modules (e.g., libxfcegui4, xfwm4, xfce4-panel, etc.) 
> as "core Xfce components", and be able to check out/update based on 
> that.  Basically I want an equivalent to "cvs co xfce4" which grabs the 
> core without getting, e.g. xfmedia.
> * Ability to branch/tag some modules without touching the others.  
> Related to this, the ability to tag/branch a series of modules (e.g., 
> Xfce core) without having to issue a dozen commands and do each one 
> individually.
> * Easy file renames/moves within modules.
> * CVS-like operation.  If we can't do everything with svn that we 
> already do with CVS, what's the point?
> So, unless I'm mistaken, the WebDAV solution is looking even more 
> attractive.  Personally, I wouldn't mind spending a few hours setting up 
> all the permissions, as long as the big time committment is just the 
> up-front cost of initial setup, with later admin time being just to add 
> or remove people from specific components/files later as the need 
> arises.  But perhaps I'm missing something, and you can do all these 
> things without WebDAV.

Being able to do grouping is important to me too. That would be much 
harder with separate repos, wouldn't it?

Brians list looks fairly complete, I can't really think of anything to 
add there.

I certainly don't want to impose a big administration burden on Auke.


More information about the Xfce4-dev mailing list