From: Felipe Contreras <felipe.contreras@gmail.com>
To: Sergey Organov <sorganov@gmail.com>,
Felipe Contreras <felipe.contreras@gmail.com>
Cc: Martin <git@mfriebe.de>, Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org
Subject: Re: PATCH: improve git switch documentation
Date: Mon, 12 Jul 2021 11:24:54 -0500 [thread overview]
Message-ID: <60ec6cd622c4c_a4525208a0@natae.notmuch> (raw)
In-Reply-To: <874kd1gr0q.fsf@osv.gnss.ru>
Sergey Organov wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
> > Sergey Organov wrote:
> >> Martin <git@mfriebe.de> writes:
> >>
> >> > On 10/07/2021 12:24, Sergey Organov wrote:
> >> >> Martin <git@mfriebe.de> writes:
> >> >>> Actually, "new" or "create" would make sense in "git branch". But in
> >> >>> git switch, they actually raise the question "create what?" / "new
> >> >>> what?".
> >> >> I believe that's because "git switch" tries to do too much. "git switch"
> >> >> should rather switch between existing branches, and do nothing else. As
> >> >> I said once in this discussion already: trouble writing good
> >> >> documentation is often indication of some flaws in the design.
> >> >> Creating (a branch) is fundamentally different operation than switching
> >> >> to (a branch), and that's why the former doesn't fit into "git switch".
> >> >>
> >> >
> >> > Right, yes. But creating a branch is often followed by switching to it.
> >>
> >> Yep, but here the creation is the primary operation, not switching, so
> >> putting this into "git switch" looks like design flaw. These 2 actions
> >> are fine to co-exist in "git branch" = "whatever you want to do to
> >> branches", but not in "git switch" == "wherever you want to switch".
> >
> > I don't see the logic in here.
> >
> > git branch topic # here 'branch' is the verb
>
> Not to me. I assumed the "branch" is always a noun in "git branch", and
> the actual meaning of this command is:
>
> git branch [create|new] topic
>
> I.e., creation just being the default action taken on the branch.
The question is not what you assumed, the question is can other people
assume otherwise?
"branch" can be a verb, that's a fact.
> >> To me, while the latter is obvious, it's verb and specifies the action
> >> to be performed, the former looks more like "whatever you want to do
> >> with branches", and thus the "branch" is a noun there and the command
> >> thus is object-oriented.
> >
> > I agree, and I did have indeed noticed the inconsistency. But there's
> > another category of commands that receive subcommands, like:
> >
> > git remote $subcommand
> > git worktree $subcommand
> > git bisect $subcommand
> >
> > In my opinion `git branch` fits more these subcommand commands, and it
> > was a mistake to make the subcommands options, it should be:
> >
> > git branch list
> > git branch new
> > git branch set-upstream
> > git branch move
> > ...
> >
> > Now the verb is crystal-clear.
>
> Yes, lacking (assumed) subcommands is yet another dimension of
> inconsistencies.
>
> I mean what I'm after is inconsistency of the first argument to "git".
> It's being the verb more often is where we currently are, at least when
> considering "primary" commands that "git help" outputs.
>
> I mean, consider:
>
> git branch new nice-feature
>
> vs
>
> git new branch nice-feature
>
> It should have been the latter, when in fact it's currently the
> [reduced] former.
I disagree. I prefer the former.
Either way this is way too far from the original point. I don't think
you can convince me that `git new branch` makese sense, but there's no
need for that.
To move forward we need to find consensus, and if you and me agree that
`git branch new` makes sense, that's where we should focus on.
Even standardizing `git branch` would be an almost-impossible task, even
if we manage to convince others. `git new branch` even more impossible.
--
Felipe Contreras
next prev parent reply other threads:[~2021-07-12 16:24 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-29 15:28 PATCH: improve git switch documentation Martin
2021-06-29 16:35 ` Junio C Hamano
2021-06-29 19:04 ` Martin
2021-06-29 22:39 ` Junio C Hamano
2021-06-30 8:50 ` Martin
2021-06-30 22:59 ` Junio C Hamano
2021-07-01 10:06 ` Martin
2021-07-01 11:27 ` Sergey Organov
2021-07-07 18:34 ` Felipe Contreras
2021-07-07 20:46 ` Sergey Organov
2021-07-07 21:25 ` What actually is a branch? Felipe Contreras
2021-07-07 22:07 ` Sergey Organov
2021-07-07 22:35 ` Martin
2021-07-08 3:39 ` Felipe Contreras
2021-07-08 10:15 ` Martin
2021-07-08 17:33 ` Felipe Contreras
2021-07-08 19:21 ` Martin
2021-07-08 20:37 ` Felipe Contreras
2021-07-08 23:11 ` Martin
2021-07-09 0:45 ` Felipe Contreras
2021-07-09 13:24 ` Martin
2021-07-09 15:08 ` Felipe Contreras
2021-07-09 15:23 ` switch requires --detach [[Re: What actually is a branch]] Martin
2021-07-09 16:21 ` Felipe Contreras
2021-07-09 16:38 ` Randall S. Becker
2021-07-09 17:10 ` Felipe Contreras
2021-07-09 16:54 ` Martin
2021-07-10 10:08 ` Sergey Organov
2021-07-10 19:18 ` Felipe Contreras
2021-07-09 14:29 ` PATCH: improve git switch documentation Martin
2021-07-09 16:10 ` Felipe Contreras
2021-07-09 16:51 ` Martin
2021-07-09 17:41 ` Felipe Contreras
2021-07-09 18:23 ` Martin
2021-07-10 19:45 ` Felipe Contreras
2021-07-10 20:07 ` Martin
2021-07-10 20:49 ` Felipe Contreras
2021-07-10 22:13 ` Martin
2021-07-10 23:35 ` Felipe Contreras
2021-07-11 9:10 ` Martin
2021-07-11 9:30 ` Sergey Organov
2021-07-12 16:28 ` Felipe Contreras
2021-07-12 16:33 ` Martin
2021-07-12 16:58 ` Felipe Contreras
2021-07-12 17:52 ` Martin
2021-07-12 19:08 ` Felipe Contreras
[not found] ` <3a84e4c9-4e48-1cbe-4fe6-150ff56c8508@mfriebe.de>
[not found] ` <60ecbe577a086_a6b702082@natae.notmuch>
2021-07-13 10:42 ` Martin
2021-07-13 16:02 ` Felipe Contreras
2021-07-16 18:12 ` Martin
2021-07-16 18:31 ` Martin
2021-07-16 18:56 ` Felipe Contreras
2021-07-17 7:02 ` Martin
[not found] ` <1997ca3b-117a-e19a-0dee-7342a2f1a0e7@mfriebe.de>
[not found] ` <60f1f4c3dd8b1_14cb208c1@natae.notmuch>
[not found] ` <fedbfe1f-9e6d-f46f-ca41-e176a30e938c@mfriebe.de>
[not found] ` <60f22aaa6a4f1_1f602081b@natae.notmuch>
2021-07-17 10:07 ` Martin
[not found] ` <60f33f8a7c39b_507220823@natae.notmuch>
2021-07-17 21:23 ` Martin
2021-07-19 17:51 ` Felipe Contreras
2021-07-11 7:57 ` Sergey Organov
2021-07-11 9:27 ` Martin
2021-07-11 9:37 ` Sergey Organov
2021-07-11 10:24 ` Martin
2021-07-12 16:34 ` Felipe Contreras
2021-07-10 22:13 ` Naming the --forec option [[Re: PATCH: improve git switch documentation]] Martin
2021-07-10 23:18 ` Felipe Contreras
2021-07-11 0:39 ` Martin
2021-07-12 16:15 ` Felipe Contreras
2021-07-10 10:24 ` PATCH: improve git switch documentation Sergey Organov
2021-07-10 10:37 ` Bagas Sanjaya
2021-07-10 11:05 ` Martin
2021-07-10 16:32 ` Sergey Organov
2021-07-10 20:12 ` Felipe Contreras
2021-07-11 9:04 ` Sergey Organov
2021-07-11 10:05 ` Martin
2021-07-11 12:23 ` Sergey Organov
2021-07-11 13:39 ` Martin
2021-07-11 14:49 ` Sergey Organov
2021-07-11 16:51 ` Sergey Organov
2021-07-12 10:31 ` Kerry, Richard
2021-07-12 11:11 ` Sergey Organov
2021-07-12 16:55 ` Felipe Contreras
2021-07-12 16:24 ` Felipe Contreras [this message]
2021-07-12 16:39 ` Martin
2021-07-12 17:09 ` Felipe Contreras
2021-07-12 22:58 ` Sergey Organov
2021-07-12 23:36 ` Felipe Contreras
2021-07-13 11:20 ` Martin
2021-07-10 20:00 ` Felipe Contreras
2021-07-10 19:51 ` Felipe Contreras
2021-07-11 9:52 ` Sergey Organov
2021-07-12 16:44 ` Felipe Contreras
2021-07-13 10:57 ` Sergey Organov
2021-07-13 16:10 ` Felipe Contreras
2021-07-14 19:14 ` Sergey Organov
2021-07-14 19:51 ` Felipe Contreras
2021-07-14 20:42 ` Sergey Organov
2021-07-08 3:12 ` What actually is a branch? Felipe Contreras
2021-07-08 11:16 ` Sergey Organov
2021-07-08 18:05 ` Felipe Contreras
2021-07-01 14:58 ` PATCH: improve git switch documentation Junio C Hamano
2021-07-01 17:29 ` Martin
2021-07-01 17:46 ` Sergey Organov
2021-07-07 18:54 ` Felipe Contreras
2021-07-07 18:47 ` Felipe Contreras
2021-07-07 18:14 ` Felipe Contreras
2021-07-01 0:06 ` Matt Rogers
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=60ec6cd622c4c_a4525208a0@natae.notmuch \
--to=felipe.contreras@gmail.com \
--cc=git@mfriebe.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sorganov@gmail.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).