[darcs-users] Need help getting off darcs

James D Sadler james at jamesdsadler.com
Wed Jan 2 21:40:52 UTC 2008


Hi Tommy,

A 150 mb patch is far from ideal, yes but I disagree that it is an
error on our part.  We can perfrom gets and pulls just fine at work,
and that means that darcs is handling that patch just fine in that
situation.   It doesn't handle that patch when trying a pull that
attempts to pull that one patch *only*.  Darcs consumes inordinate
amounts of RAM on order to do this - my guess is that Darcs is
scanning other patches in order to check for dependency relationships
with the patch I need to pull.

While writing a tool a couple of months ago to extract the content of
a darcs repo without invoking darcs itself, I got quite familiar with
the patch format.  Something that stood out immediately was that
patches do not contain references to the patches that they depend on.
Essentially that means that darcs has to do a *lot* of work in order
to figure out the dependency relationships - I think it is here where
it loads all the patches into RAM and uses the 'patch algebra' to make
its conclusions.  This is the error, IMHO. (I am trying to tread
carefully here, it's not my intention to start a flame war :0)   )

I stopped my development on my darcs-fast-export.rb tool when I
realised that handling mergers was going to mean re-implementing a
bunch of darcs in Ruby.

James.

On 03/01/2008, Tommy Pettersson <ptp at lysator.liu.se> wrote:
> On Wed, Jan 02, 2008 at 03:38:29PM +1100, James D Sadler wrote:
> > (the first patch is quite big ~ 150Mb).
>
> Ok, this is the first "error", although that of course doesn't
> help you now. :-(
>
> What I can think of is to check if this first patch is
> compressed, and if so uncompress it so that darcs uses mmap,
> which will use less memory.
>
>
> --
> Tommy Pettersson <ptp at lysator.liu.se>
> _______________________________________________
> darcs-users mailing list
> darcs-users at darcs.net
> http://lists.osuosl.org/mailman/listinfo/darcs-users
>


-- 
James


More information about the darcs-users mailing list