On Sun, Mar 17, 2013 at 1:33 PM, William Giokas <1007380@gmail.com> wrote:
On Sun, Mar 17, 2013 at 01:14:01PM -0400, Daniel Wallace wrote:
On Sun, Mar 17, 2013 at 12:43:01PM +0100, Jelle van der Waa wrote:
The AUR currently has ~ 41076 packages, which would bring us to an equal amount of git repo's. This doesn't seem very efficient to me.
With svn you can put it all in one repo and checkout a single package without checking out the whole repo, which is how [core],[extra],[community] work.
I know Exherbo uses Git for their repo's but they seem to split it up into categories [1].
Git seems to have sparse checkout for this in 1.7, but I don't know how it works [2]
git clone --single-branch git://projects.archlinux.org/svntogit/packages.git -b packages/linux
... then make one for community.git :)
and inside, you can do stuff like...
git fetch origin packages/bash git checkout -b packages/bash FETCH_HEAD
and checkout the other branches
But this does make it so that either no one has push access, or only a very small subset of people have push access for security reasons. The whole point of the multiple repos is to allow people full control over the whole repo with git, and not have to rely on the `makepkg -S` bits. While great for spectating, it's pretty bad for a bunch of people that can just simply sign up as contributors. Also, you know what would happen if we just gave everyone push access.
I'm fairly certain you can restrict users to only be able to push to certain branches using hooks. So even if there was a single repository users wouldn't be able to push to branches they shouldn't be pushing to. I don't even think full Git push access is the first logical step in implementing version control in the AUR. I think the first logical step would be to have the package submission page have a spot for a changelog entry and then have the backend take care of all the Git business itself rather than having users directly pushing. Then re-assess at a later date and maybe add the ability for direct Git pushing.
Thanks, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF