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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> > _______________________________________________ > darcs-users mailing list > [email protected] > http://lists.osuosl.org/mailman/listinfo/darcs-users > -- James _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
