On Sun, Mar 17, 2013 at 01:44:12PM +0100, Kwpolska wrote: > On 16/03/13 23:10, William Giokas wrote: > > The repositories would be limited to 5M > > Measuring by current size of contents or total size? The latter would > be very unpleasant for packages modified often or packages with binary > files (eg. dropbox/dropbox.png; binary files in git aren’t using > deltas AFAIK).
Binaries (even images) should not be hosted in the AUR. This is simply a waste of space with the plethora of hosting services around. Someone on aur-general mentioned using a 1-2M limit, which actually seems more sane. > On Sun, Mar 17, 2013 at 12:43 PM, Jelle van der Waa <[email protected]> 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. > > Well, why do you think it is inefficient? Maybe because of the amount > of repos? GitHub hosts (as of now) 5,700,361 repos[0], big and small. > That number doesn’t include gists, and there are a lot of them. So, > we would be around six million, at the very least. While I agree with you, even having 41K git repos would take some more thought. > Because of the repo size? Let me disprove you. > > Currently, the AUR stores stuff in 41078 tarballs (tar+gz), plus 41078 > PKGBUILD files stored without any compression on the server (eg. > https://aur.archlinux.org/packages/pk/pkgbuilder/PKGBUILD ). The > PKGBUILD and the tarball weigh a total of 1241 bytes[1]. > > Now, we make a local git repo (git init --bare), and get the > aforementioned PKGBUILD into it from a downstream clone (git > {add,commit,push}). After removing the sample hooks (unnecessary, > although the AUR may make good use of such hooks[2]), we end up with > 843 bytes[2]. After an update (pkgver+md5sums) we get 1518 bytes[3]. > This is a small price for a complete PKGBUILD modification history. > > If somebody wants numbers for Mercurial, it gets 1262 and 1725 > bytes[4], respectively. I couldn’t set SVN up easily, so I don’t have > any numbers. > > [0] https://github.com/search; displayed if you are lucky enough > [1] makepkg --source; wc -c PKGBUILD pkgbuilder*.src.tar.gz > [2] For example, Heroku uses post-update hooks to trigger a build of > the website. GitHub has an awesome Service Hook system, where you can > have a bazillion services do stuff after you push (eg. unit tests via > Travis CI) > [3] wc -c config description HEAD objects/*/* refs/heads/master > [4] wc -c 00changelog.i branch dirstate hgrc last-message.txt requires > undo.bookmarks undo.branch undo.desc undo.dirstate > store/00changelog.i store/00manifest.i store/fncache store/phaseroots > store/undo store/undo.phaseroots store/data/* cache/branchheads-served > > > 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. > > svn is ugly and human-unfriendly. Nobody likes it. And I couldn’t > get it to work properly, as mentioned above. > > > Git seems to have sparse checkout for this in 1.7, but I don't know how it > > works. > > http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ Thank you, -- William Giokas | KaiSforza GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF
pgpHvzFELBiVD.pgp
Description: PGP signature
