[darcs-users] [patch260] Implement darcs optimize --http (and 2 more) [status=accepted-pending-tests]

Petr Rockai me at mornfall.net
Fri Jun 25 05:08:08 UTC 2010


Alexey Levan <bugs at darcs.net> writes:
> Alexey Levan <exlevan at gmail.com> added the comment:
>> It's more common to use ' (prime) as a suffix in Haskell than 2 (the
>> latter usually means 2-argument, like liftM2...)
> Using prime here breaks the build:
> src/Darcs/Repository.hs:173:30:
>     Not in scope: type constructor or class `C'
> It seems that some preprocessor magic doesn't work with primes well.
Ah, OK, of course CPP breaks. I keep forgetting about that...

> Thu Jun  3 14:59:00 EEST 2010  Alexey Levan <exlevan at gmail.com>
>   * Add --http flag for optimize
> Thu Jun 24 20:28:22 EEST 2010  Alexey Levan <exlevan at gmail.com>
>   * Refactor Darcs.Repository.copyInventory (consistent naming)
> Thu Jun 24 21:01:46 EEST 2010  Alexey Levan <exlevan at gmail.com>
>   * Create a function for lazy fetching of files
> Thu Jun 24 21:38:11 EEST 2010  Alexey Levan <exlevan at gmail.com>
>   * Implement darcs optimize --http
> Thu Jun 24 21:39:10 EEST 2010  Alexey Levan <exlevan at gmail.com>
>   * Fix warning in Darcs.Repository

About these, I am almost ready to push them -- if tests pass, I'll shove
them in (I'll deliberate on that unsafeInterleaveIO from your other
bundle). In the meantime, you should try to get some work done on
testing the code automatically.

This should go under tests/network (you can look around there to see how
things are usually done). You will need a repository somewhere on an
http server with the tarballs: you should probably host it somewhere
yourself while you are playing with things, eventually I can upload the
repository to darcs.net for you, alongside other test repos that live

I can think of two more things: first, make sure that local get does not
use the packs -- this would be just extra overhead without getting us
anything. Second, we should also copy over any unpacked hashed files
into cache and if possible hardlink them with pre-existing copies. It
may be not completely trivial, but I would appreciate if you could look
into that. If you don't feel like you have enough time on this stage for
this latter change, you can file it in bugs.darcs.net so it's not

Hopefully, I'll be able to push this bundle today evening (I have to run
now and would prefer to not break anything in a haste).


More information about the darcs-users mailing list