On Fri, Jan 9, 2009 at 3:09 PM, Loui Chang firstname.lastname@example.org wrote:
On Fri, Jan 09, 2009 at 02:52:18PM -0600, Aaron Griffin wrote:
Well, the way the arch SVN repo for build files is organised is by packages, not by repos. That means all community packages will be thrown in together with core, extra, and testing packages.
To get a checkout of community you would have to scan every package directory to see if it's actually in community. I'm not sure if it's possible via standard subversion tools either.
I'm not sure what you mean here. The official repos did away with the "scan all packages" thing a while back. There's no need to regenerate an entire list of all packages, assuming we maintain state properly. Every operation is an add or a remove. We simply use SVN to ensure that the package belongs in that repo.
What I mean is that it doesn't seem like someone could easily checkout the build files for just community packages.
In that case how do you set up permissions properly if trunk build files don't belong to any particular repo? Seems TUs would have access to everything no?
In the SVN repo, yes. We currently handle permissions in a rather open way. The svn repo is entirely open to anyone to just do what they want. This comes in very handy when someone wants to do things like update licenses or fix someone else's package.
It's the actual package uploading that is permission restricted. Only a subset of the developers have access to the core repo. While anyone can change build files for packages in core, not everyone can actually update the packages themselves.
In code, if I wanted to checkout all of the community build files, I would do something akin to (quick pseudo code):
mkdir community for pkg in community.db.tar.gz: svn co svn-packages/$pkg/trunk community/$pkg
or something of the sort. It'd be slow over ssh, so I would make sure to use a ControlMaster socket for that... but locally it should be fairly quick.