[PATCH] convert: fix cvsnt mergepoint referring synthetic parent

Henrik Stuart hg at hstuart.dk
Thu Jun 4 13:16:17 CDT 2009


Greg Ward skrev:
> On Tue, Jun 2, 2009 at 1:51 PM, Henrik Stuart <hg at hstuart.dk> wrote:
>> # HG changeset patch
>> # User Henrik Stuart <hg at hstuart.dk>
>> # Date 1243964916 -7200
>> # Node ID 686ac3bc40ce29f58ff6c8398ea19f2accdf60d4
>> # Parent  68e0a55eee6e97df2bbb4548c6b6dbd2d2b7bb97
>> convert: fix cvsnt mergepoint referring synthetic parent
>>
>> The mergepoint changesets were not resolved like "normal" parent
>> relationships in the conversion so the conversion of a cvsnt
>> repository could potentially crash unexpectedly as the synthetic
>> revision was deleted.
> 
> Looks fairly sensible to me, although I don't claim to fully
> understand the mergepoint stuff.  (Never used CVSNT myself.)  Can you
> add a test case to test-convert-cvs-builtincvsps-cvsnt-mergepoints?
> 
> On a related note, test-convert-cvs-builtincvsps-cvsnt-mergepoints is
> not executable and its name is a mouthful.  How about a patch to chmod
> +x it and rename to test-convert-cvsnt-mergepoints?

Was going to add the test case but ran into issue 1447 again. Guess I'll
take another stab at fixing that first *sigh*.

The CVSNT mergepoints are fairly nice. Basically when you do a merge
(cvs up -jOTHERBRANCH; cvs ci -m merge) the server stores that the
commit is, in addition to having the normal parent, also a mergepoint
from revision foo, for each file. (Unfortunately the same mechanism is
used for cherry picks which throws off later merges if you're not careful).

-- 
Kind regards,
  Henrik Stuart


More information about the Mercurial-devel mailing list