From: Stefan Beller <stefanbeller@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: GIT Mailing-list <git@vger.kernel.org>
Subject: Re: Unify subcommand structure; introduce double dashes for all subcommands?
Date: Sun, 10 Aug 2014 23:08:03 +0200 [thread overview]
Message-ID: <53E7DF33.50508@gmail.com> (raw)
In-Reply-To: <xmqqha1k8b6v.fsf@gitster.dls.corp.google.com>
On 10.08.2014 20:13, Junio C Hamano wrote:
> Stefan Beller <stefanbeller@gmail.com> writes:
>
>> On 23.07.2014 19:52, Junio C Hamano wrote:
>>
>>> Sounds familiar. E.g. here is a similar thread about a year ago.
>>>
>>> http://thread.gmane.org/gmane.comp.version-control.git/231376/focus=231478
>>>
>>> Further discussions to make the plan more concrete is very much
>>> welcomed.
>>>
>>> Thanks.
>>>
>>
>> So I'd want to add have the subcommands without double dashes ideally.
>
> That is not ideal at all, I am afraid. A command that started only
> with its "primary operating mode", e.g. "git tag [-s|-a] tagname
> [object]", may have to gain "I do not want to create, I just want to
> list" and the way to signal that has to be an option that cannot be
> mistaken as its valid first argument (to avoid "git tag list" that
> cannot create a tag called "list", we use "git tag --list"). You
> could add an entirely new command "git foo" that always takes the
> command-mode word, i.e. "git foo mode$n args", but you will be
> typing the operating mode name all the time only to save --mode$n
> for 2<=$n, which may not be a good economy in the end.
>
> Please do not go there.
>
I see your point.
However how often do you really want to create a tag called list?
As of now it's easy:
git tag list
and for listing all tags you'd need to type:
git tag --list
and if you want to create a tag called --list, I'd assume you'd go
git tag -- --list
# However:
fatal: '--list' is not a valid tag name.
So even as of now certain tag names cannot be done easily.
Also you have to type two more dashes for an action you'd probably want
to perform more often (as opposed to creating a tag 'list')
In my (ideal) world we'd rather have this behavior:
git tag list
# behaves the same as
git tag
Now creating a tag called 'list' is not as easy, because 'list' is a
primary operating mode name, so we need to tell git we're actually
meaning the name as opposed to the operating mode:
git tag create -- list
# or even
git tag create -- --list
----
Anyways despite my arguing, it seems you rather want to rather have the
leading double dashes everywhere for the operating modes?
So the plan is to not touch the parsing, but to adjust notes and stash ?
Thanks,
Stefan
prev parent reply other threads:[~2014-08-10 21:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-23 13:35 Unify subcommand structure; introduce double dashes for all subcommands? Stefan Beller
2014-07-23 17:52 ` Junio C Hamano
2014-08-10 15:26 ` Stefan Beller
2014-08-10 18:13 ` Junio C Hamano
2014-08-10 21:08 ` Stefan Beller [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E7DF33.50508@gmail.com \
--to=stefanbeller@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).