[PATCH 3 of 5] shelve: use an --unshelve parameter instead of a command

Laurens Holst laurens.nospam at grauw.nl
Fri Sep 20 04:32:44 CDT 2013

Op 19-09-13 16:37, Augie Fackler schreef:
> On Wed, Sep 18, 2013 at 09:31:51PM -0700, Siddharth Agarwal wrote:
>> On 09/18/2013 09:29 PM, David Soria Parra wrote:
>>> I used an parameter --unshelve instead of a command due to the previous
>>> discussion on the extension. I personally don't have a preference, but
>>> it was suggested that we don't use an "unshelve" command. This way all
>>> the parameters are defined on the same command. Would you prefer
>>> "--apply" maybe?
>>> Matt and rest: Any suggestions on the UI bits?
>> I'd prefer unshelve too.
> I think I would too, but [alias] unshelve = shelve --unshelve is
> pretty easy, and consistency with core commands like tag isn't
> valueless.
> (Not sure which one I want in the end. Merely being the devil's
> advocate here.)

Actually I’m thinking rather the opposite...

It always seemed to me that in Mercurial the secondary arguments are 
more like commands, whereas in git the secondary is more like a 
namespace. Cf. hg tag / hg tags vs. git tag / git tag -l, etc. It 
happens that I prefer the Mercurial way.

Note that unshelve is different from tag --remove because unshelving is 
a very very common operation whereas removing a tag is uncommon, not 
even worthy of a shorthand option. Also unshelve does a lot with your 
working copy.

If you’re looking for consistency, think more about bundle / unbundle.

So I’d rather see shelve / unshelve, it seems more consistent with the 
philosophy behind mercurial commands.


More information about the Mercurial-devel mailing list