Call for discussion: Phase names

Jesper Schmidt schmiidt at gmail.com
Tue Jan 10 14:30:38 CST 2012


On Mon, 09 Jan 2012 21:52:57 +0100, Matt Mackall <mpm at selenic.com> wrote:

> On Mon, 2012-01-09 at 20:28 +0100, Olav Reinert wrote:
>> Hi all,
>>
>> At the 2.1 mini-spring in Zürich last week-end, the names of the
>> phases were discussed quite a lot, and it has also been a topic of
>> much discussion here on the mailing list.
>>
>> In order to reach a useful consensus in time for the 2.1 code freeze
>> in mid-January, Pierre-Yves DAVID from Logilab has asked me to
>> organize a conclusive discussion to decide on the phase names to use
>> in the final release.
>>
>>
>> The current (unacceptable) naming scheme is as follows:
>>
>>     Name    Immutable   Shared
>>     public      X         X
>>     draft                 X
>>     secret
>>
>> (Even though the names of the changeset properties assigned to the
>> phases (immutable and shared) have also been debated, their meaning is
>> not disputed.
>>
>> Most people seem to agree that "draft" is a good name for the middle
>> phase, because it implies a work-in-progress that may be shared. The
>> name "public" is disliked by some because it doesn't convey
>> immutability, which is an important and distinguishing property of
>> that phase.
>
> Changesets become immutable because they've been made public (ie by
> pushing them to a public server), not vice-versa.
>
> I basically think 'public' and 'draft' are frozen. Not interested in
> 'published'.
>
>>  The name "secret" is disliked because to some it suggests enforcement
>> of confidentiality (i.e., that it's safe to check in trade secrets or
>> nuclear launch codes), which is not the case, and not intended,
>> either.
>
> I've yet to see any good articulation of why we'd want to expose hashes
> from this phase over the wire. It continues to seem self-evidently wrong
> from a design perspective to do so: the client simply has no business
> having visibility into these changesets. I will continue to be unhappy
> with this regardless of what the phase is named.
>
>>     personal, mine, isolated, tentative, shy, scratch, jailed, moored,  
>> anchored, grounded
>
> I don't like any of these even a little. I think it needs to be
> synonymous with private, which basically limits the possibilities to
> 'private', 'secret', and 'restricted'.
>

Then I prefer 'private' ;-)

Jason has argued that we shouldn't be too concerned with the
first-letter-shortcut-rule in this case and I agree with him.
I would be okay with having only long options for the phase names,
because I expect to use them rarely. IMO, we should go for the best
names in the eye of the user regardless of initials.

-- 
Jesper


More information about the Mercurial-devel mailing list