[PATCH 7 of 7] strip: strip obsmarkers exclusive to the stripped changeset

Pierre-Yves David pierre-yves.david at ens-lyon.org
Sat Jun 3 15:39:37 EDT 2017



On 06/03/2017 08:31 PM, Jun Wu wrote:
> Excerpts from Pierre-Yves David's message of 2017-06-03 14:54:00 +0200:
>> [...]
>>> I don't think this is correct in a distributed world.
>>
>> Strip entirely removes information from the repository storage. That
>> never played well with distribution and is not meant to. I see it as a
>> maintenance command.
>
> Good point. I agree.
>
>>> It could potentially break divergence detection.
>>
>> I'm not sure what you mean here, can you elaborate?
>
> The case I was initially worried about turns out to be invalid.
>
> I found another interesting case, though: if A was split into B and C.
> Stripping C alone might either remove the marker which might be undesirable,
> or allow "dangling" markers.

We keep the split markers unless all the successors of the split are 
"stripped" (so in you list above, we gets "partially dangling" markers).

This match the current behavior of push and pull thatsynchronizes a 
split markers as soon as one of the successors is part of the operation.

Partially dangling has not been a too big concern so far. It is likely 
something we will study a bit more in the future but it is far down the 
priority list.

Cheers,

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list