[aur-dev] Using git as a backend for the AUR

canyonknight canyonknight at gmail.com
Sun Mar 17 19:34:46 EDT 2013


On Sun, Mar 17, 2013 at 1:33 PM, William Giokas <1007380 at 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


More information about the aur-dev mailing list