StatesPlan - a draft of the sprint discussion about liquid hg
Matt Mackall
mpm at selenic.com
Sun May 8 15:19:10 CDT 2011
On Sun, 2011-05-08 at 13:27 -0500, Augie Fackler wrote:
> On May 8, 2011, at 9:30 AM, Matt Mackall wrote:
> >
> > On Sat, 2011-05-07 at 18:37 -0500, Augie Fackler wrote:
> >> On May 7, 2011, at 3:06 PM, Matt Mackall wrote:
> >>>
> >>> I've written this up in a form I hope gives a pretty clear plan for the
> >>> groundwork here:
> >>>
> >>> http://mercurial.selenic.com/wiki/StatesPlan
> >>>
> >>> This also proposes some UI for this feature (the hg state command and
> >>> the state: field in the log), which we'd been mostly handwaving to this
> >>> point.
> >>>
> >>> I think some people at the sprint missed the discussion of the local
> >>> feature, so please take a look at that.
> >>>
> >>> I've mostly left out Pierre-Yves very interesting model for changeset
> >>> management (briefly discussed at the end) as it would double the length
> >>> of the document to go into a similar level of detail and states need to
> >>> be implemented first at any rate.
> >>>
> >>> Similarly, Henrik and Martin's work on dead heads shows up here as
> >>> 'abandoned heads' mostly to illustrate that it's an orthogonal feature.
> >>
> >> Only first-pass comment:
> >> There's a tense disagreement between hg state --abandon and hg state --{dead,frozen}. Perhaps the latter should be --{kill,freeze}?
> >
> > You missed:
> >
> > "...abandoned changesets are implemented via markers in history so they
> > are not part of the states concept..."
> >
> > "To mark a branch as abandoned, use 'hg commit --abandon'..."
>
> <bikeshed>
> Fair enough. I think that it's clearer to have the state modification
> flags be in present tense (since you're causing the state change)
> rather than past (which sounds like "show me things in state dead" to
> me). Do you mind if I make such a change?
I don't going from adjectives to verbs is ideal. We'd have:
frozen -> freeze
liquid -> liquify
local -> localize
dead -> kill
For starters, this is an excellent survey of the irregularity of
English. Further, they're wrong. If you liquify a local changeset,
you're implying it wasn't liquid before. But in fact a local changeset
is just as mutable as a liquid changeset, it's just not visible to
remote users. So the transition verb is actually "unlocalize". Yuck.
I think all the current state names need rethinking. Ideally, they'd:
a) all be on an obvious continuum
b) not have conflicting initials (liquid vs local)
c) not conflict with common options (frozen vs force)
Something like this might work:
published < review < draft < trash
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial-devel
mailing list