RFC: Phase UI (revset, phase command and others)

Alain Leufroy alain.leufroy at logilab.fr
Mon Jan 2 09:26:39 UTC 2012


On Tue, 27 Dec 2011, Laurens Holst wrote:
> > Solution C: Use a single symbol
> > ``````````````````````````````````````````````````
> >
> > We can use a single "phases" revset taking a "phase-set" in argument:
> >
> >     match changesets in draft phase -->  phase('draft)
> >     match changesets in draft phase or lower -->  phase('<=draft)
> >     match changeset between public and secret phase -->
> > phase('public::draft')
> >
> > pro:
> >     * Add less symbol
> >     * everything is done using the same symbol
> >     * complex case are simpler to express
> >     * cover any complicated case people might want
> > cons:
> >     * Make simple case more verbose
>
> I like the phase(str) part of solution C but I don’t like the microsyntax ::
> => <= etc. Also problem with => and <= is that the ordering (what is left,
> what is right) is unintuitive.

what about ``phase('::draft')`` ?

>
> Solution D:
>
> Add a phases keyword:
>
> phase('draft') -> exact match
> phases('draft') -> draft + secret
> ! phases('secret') -> public + draft
>
> Unions, intersections and set differences will handle the rest.
>
> ~Laurens
>
>

-- 
Alain Leufroy
LOGILAB, Paris (France)
http://www.logilab.fr
Informatique scientifique & gestion de connaissances


More information about the Mercurial-devel mailing list