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

Sune Foldager cryo at cyanite.org
Wed Sep 15 06:30:22 CDT 2010


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. 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).

/Sune


More information about the Mercurial-devel mailing list