StatesPlan - a draft of the sprint discussion about liquid hg

Matt Mackall mpm at selenic.com
Mon May 9 09:47:16 CDT 2011


On Mon, 2011-05-09 at 13:49 +0200, Peter Arrenbrecht wrote:
> On Sat, May 7, 2011 at 10:06 PM, Matt Mackall <mpm at selenic.com> 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.
> 
> The machinery implementing "local" should be smart enough to also
> support "abandoned".

Is that true? My theory is that "local" changesets will simply be pruned
from the graph that's visible to remote clients (possibly by subclassing
changelog). Clients (including old clients!) will not negotiate anything
about them, nothing will be added or changed in the wire protocol,
nothing will change in discovery, they simply won't be there. Nor will
they be present in the web interface.

>  In particular, handling pulls properly requires
> non-trivial server cooperation and hints provided by the client to the
> server (for the case where we do need to pull an abandoning commit
> when we have part of its abandoned set already). We discussed this a
> little at the sprint (Henrik, Pierre-Yves and myself) and thought that
> it should go into additional args to getbundle(). This client-side
> setup of additional args to getbundle, and the server-side filtering
> of actual heads to use for bundling, should be made hookable by
> extensions.
> 
> -parren


-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list