gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu-arch-users] Cacherevs ignored by tla library-add -s


From: John Arbash Meinel
Subject: Re: [Gnu-arch-users] Cacherevs ignored by tla library-add -s
Date: Wed, 30 Mar 2005 20:52:56 -0600
User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206)

Martin Langhoff wrote:

for large projects. I have to confess that multi-GB libraries for a
project that is ~50MB of untarred source seemed a but much.


Unless you're using a non-sparse library, there's no reason why it take
more than the size of the source tree.



Well... libraries default to being non-sparse. Add to that the
behaviour you described of preferring library revisions over cacherevs
as soon as there's an existing revision, and then libraries tend to
fill all available disk space ;)



Libraries also default to non-greedy. Generally when you supply the
--greedy you also supply --sparse.

In my case, I had base a and a couple of early revisions in the
(sparse) library, and it decided to ignore a cacherev in patch-550
rebuild ~600 revisions. I like the approach described for baz a lot
more



I think most people prefer the approach. That's why it was done. There
was a lot of discussion about how to tune cachrevs/patch building. But
50 is a pretty reasonable approach. Especially if the code prevents
having to search much farther once a cacherev is found. On the first
checkout with a remote archive and say 200 revisions, tla is pretty slow
to find out you don't have any local revisions.

For libraries to be long-lived (and not rebuilt) when used with large
projects, library pruning strategies are needed, as with any
cache-like structure. I've learned to rm -fr parts of my library
regularly, but it's hardly a sanctioned practice.



tla-contrib has a "shrink-library" script which is designed to be run by
cron. It determines when the last access time is for each part of your
revision library, and uses that to determine what files to remove. By
default it removes revisions that haven't been accessed for the last month.

cheers,


martin


John
=:->

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]