Robin H. Johnson wrote:
On Thu, Jan 20, 2005 at 10:25:55PM -0600, Daniel Goller wrote:

Note: The implementation ideas are just that. Ideas. If you find some
structural flaw in them, tell us, don't flame :-)

I have a identified a problem that this will cause... Ok, so we're keeping all old versions of the eclasses to satisfy your proposed plan. This will have a major negative impact on the size of the tree.

Let's focus on a specific example:
eutils.eclass, the mainstay of a lot of development.  It's currently
revision 1.141. Current file size is 42243 bytes. Average file size
over those 141 revisions is 28308 bytes. If we had to keep ALL of these
141 revisions, that bloats the tree by 3991553 bytes.

This file is not typical of eclasses, as it's a good deal larger than
many others, and has the most revisions, but it ideal for pointing out
what the end result could be.

I make a rough total for keeping every revision of every ebuild as
15+ MB of data. (Assuming 4kb blocks for files smaller than 4kb).

This is nearly an 18% increase in the size of the tree. We're already
trying to get it down (expect my email later today about stuff in files/
violating the 20k goal).


an easy solution would be to not download them on every sync, but on demand, when a ebuild actually needs it, similar to distfiles only being downloaded when needed, and similar to how the discussion went on about keeping large patches out of the tree in a previous thread
also testing more and including many changes in one bump rather than making very many incremental bumps would cut down on revisions needed
test more, commit less to avoid the number of eclass versions to explode

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to