Hidden Commits in 4.3

Pierre-Yves David pierre-yves.david at ens-lyon.org
Fri Apr 7 07:29:11 EDT 2017


On 04/06/2017 12:02 AM, Durham Goode wrote:
> On 4/5/17 4:06 AM, Pierre-Yves David wrote:
>> […]
>> The change proposed to evolution is problematic. As explain in my reply
>> to the other thread[1], at minimum, removing the link between
>> obsolescence and visibility is destroying the "global-state" property we
>> currently have. This put in disarray the whole ability to use evolution
>> to exchange and collaborate on mutable history, the very thing evolution
>> has been built for. I've not seen strong-enough rationals for derailing
>> the current evolution plan and design.
>
> The simpler implementation model, the simpler mental model, the simpler
> ability for commands to use hiding, and the lack of tie-in with other
> more divisive features is the reason for this proposal. With this
> proposal we can have the majority of the benefits quickly, without
> notable changes to the existing core UI, and in a intuitive form for users.

I agree that having a local-only hiding mechanism would be a win.

However obsolescence and the hiding computed from it must stay fully 
independent from it. Changeset-evolution relies on building a global 
state[1] mixing it with local-only elements breaks this property.

> I believe these benefits outweigh the downside to evolve's current goal,
> […]
> I think other members of the community would have to weigh in on whether
> this trade off is worth it, since it is a subjective decision.

This is not a "small downside" to evolution goal. This is a full stop to 
our ability to ship changeset-evolution.

The founding goal of changeset-evolution is to allow exchange and 
collaboration around mutable history[2]. The local benefit are "just" a 
nice side effect, but the concept is fully design around distribution. 
This is a problem no other DVCS solves and we have a plan, on track, to 
complete the concept and solve it. That will give Mercurial clear edge 
over others.

The current proposal is destroying at least one pillard currently 
holding the changeset-evolution plan (global state), without 
replacement. As of today, this kills our ability to complete and ship 
changeset-evolution to all Mercurial user in the next year or two.

This is not a small subjective adjustment, this is a full 
discontinuation of concept critical to the future of Mercurial.

Cheers,

-- 
Pierre-Yves David

[1] https://www.mercurial-scm.org/wiki/CEDConcept#Global_State
[2] https://www.mercurial-scm.org/wiki/CEDConcept#Changeset_Evolution_Goal


More information about the Mercurial-devel mailing list