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

Durham Goode durham at fb.com
Fri Sep 20 18:20:53 CDT 2013

On 9/20/13 2:32 AM, "Laurens Holst" <laurens.nospam at grauw.nl> wrote:

>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
>>>> 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.

+1 on unshelve as a separate command.  I find it infinitely more
intuitive, and having it as a separate command allows us to stick unshelve
specific parameters on it without worrying about affecting the shelve

More information about the Mercurial-devel mailing list