[darcs-users] breaking hashed files into multiple directories

David Roundy daveroundy at gmail.com
Tue Sep 2 15:45:44 UTC 2008


On Tue, Sep 2, 2008 at 3:59 AM, Nicolas Pouillard
<nicolas.pouillard at gmail.com> wrote:
> Excerpts from Petr Rockai's message of Tue Sep 02 02:30:42 +0200 2008:
> You seem to view packs as a replacement for a part of patch files. I would
> like to see it as just an optimization (e.g. darcs optimize --packs), that
> don't affect the current repository representation but provides alternatives
> faster to download (packed and compressed).

I agree that this would be how to start with packs (which sound like a
nice optimization), but I think we'd benefit from also going further.
Darcs can already handle missing hash files (particularly if they're
available elsewhere), so we could have an optimize --packs --clean
possibility that also cleans out any unneeded patch files.  And the
default get could (potentially) grab the packs but not unpack them (to
safe space).

> So the optimize command would be able make to an archive of all previous
> patches at each tag, this file would have the same hashed name than the
> inventory of the tag, suffixed by ".pck" for instance. When darcs get is
> arrived to a tag, it first try to download the ".pck" file, it doesn't
> exist continue as usual. When you get a pack you just unpack it, instead of
> downloading more patches.

Actually, I'd rather have the packs have a different hashed name, that
represents their actual hash, so that we don't lose our safety
features when using packs.  I'm not sure how this should/could work,
but I think we'd probably want a separate index of pack files/pack
contents.

It would also be nice not to strictly couple packs with tags.  If we
allow packs to contain any set of hashed files, then the same code
might allow the use of packs for any number of optimizations (e.g. for
either pristine cache or inventories or the patches since the last
tag).  It would be up to optimize (guided by flags passed to optimize)
to decide which packs would be most useful to create.

Alas, I've now squandered way too much of my day on darcs...  :(

David


More information about the darcs-users mailing list