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

Matt Mackall mpm at selenic.com
Thu Dec 29 14:16:28 CST 2011


On Tue, 2011-12-27 at 00:11 +0100, Pierre-Yves David wrote:
> revset
> -------
> 
> revset to select changeset according to their phase will be implemented.
> 
> The naive solution is:
> 
>    public()     match changeset in public phase.
>    draft()      match changeset in draft phase.
>    secret()     match changeset in secret phase.
> 
> But in practice we want to be able to do more complicated queries:
> 
>    * "Match all changeset at least draft" --> (draft() + secret())
>    * "Match all changeset at most draft" --> (draft() + public())
> 
> There are multiple options to achieve this.
> 
> Solution A: add more revset symbols
> ```````````````````````````````````````````````````
> 
> Adding "exchanged()" and "mutable()" should do it.

Exchanged and mutable? What happened to shared and immutable?

Also exchanged is a <= operation while mutable is a >= operation.

But yes, I think we need attribute predicates.

> Solution B: add argument to revset
> ``````````````````````````````````````````````````

Yuck.

> Solution C: Use a single symbol
> ``````````````````````````````````````````````````

I'd rather not have another mini-language inside the revset language.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list