[PATCH 6 of 7] activate the light-weight copy feature

Matt Mackall mpm at selenic.com
Wed Sep 15 06:55:43 CDT 2010


On Wed, 2010-09-15 at 13:30 +0200, Sune Foldager wrote:
> On 15-09-2010 01:01, Matt Mackall wrote:
> > On Tue, 2010-09-14 at 11:56 +0200, Sune Foldager wrote:
> >> # HG changeset patch
> >> # User Sune Foldager<cryo at cyanite.org>
> >> # Date 1282914720 -7200
> >> # Node ID 6c95703db2ceff035bbcece54aa984da493e67f3
> >> # Parent  c9ecf6d42dbaf1624833591c1c580ba93b0afa04
> >> activate the light-weight copy feature
> >
> > This should probably be optional/undocumented until we've sorted out the
> > related bundle format issues.
> 
> Ok, but with the stream-patch, there should be no issues, as 
> changegroups are kept in the existing format and store data is 
> unpacked/repacked as needed.

I won't consider the problem solved until the wire protocol bits are in
place and given some testing. Until then, it's an experiment that might
fail.

>  Later on, with a new changegroup/bundle 
> format, we can gain some performance by sending lwcopy entries directly. 
> The same with parentdelta I reckon.
> 
> > Have you given any thought to what should happen when bar copies foo and
> > we stream bar across before foo? I seem to remember there being an issue
> > here.
> 
> Yes, in that case the target repo simply doesn't repack that entry into 
> an lwcopy-entry; it stays a normal, old-style copy-entry. Nothing 
> breaks. It seems like the simplest solution, as no changes are needed 
> anywhere, really (just catching an exception at the right place in the 
> repack code).

And how about once the wire protocol bits are in place? There's an
unsolved problem here.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list