From: Martin Date: Sun, 11 Jul 2021 10:05:02 GMT Subject: Re: PATCH: improve git switch documentation Message-ID: <6ffd7f1c-97be-a57c-b738-31deae26e8fc@mfriebe.de> In-Reply-To: <874kd1gr0q.fsf@osv.gnss.ru> On 11/07/2021 11:04, Sergey Organov wrote: > Felipe Contreras writes: > >> >> 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: Well, it is easy to see it as a noun. But for "branching" creation of a branch, it can be seen as verb. Yet in git branch --list it definitely is a noun. But then how would/should those work? The action/verb is "list" or "show" git show branches git show tags git show ... That completely tears apart related topics. Or is it enough if the subcommand is a verb? git branch create git branch list That be ok for me. >>> is "branch" a noun or a verb? >> >> Both. > > No, it's rather noun plus lacking subcommand, sometimes making it look > like verb :) As is git stash for git stash push And I should guess lots of people like the short form.... > I.e., I'm in favor of universal: > > git ... > > syntax to Git commands where specifies an action. [Why things > tend to drift to Lisp all the time, I wonder?] > Because humans are more about the "things". The way we interact is more ofter derived from the object, than the object being purposefully made for an interaction? > From that POV, for the commands you mentioned, "git bisect" is probably > fine, whereas "git worktree", and "git remote" should better be split to > operations on them, e.g.: > > git new remote > git new worktree > That also makes documentation harder. People who want a worktree, want the documentation for it in one place. So a manpage for "git new" is not desirable. It would have to be split into the manpages for the objects. But that is not good either, or is it? > Once that is regularized, we may as well consider allowing for inverse > order of the first 2 arguments, by making > > git new remote > git remote new > > the synonyms. Having even more ways to do one and the same thing.... Btw, missing from the discussion: git log "log" can be a verb, but not in the above. Because "to log" is to write something into a log. But "git log" is to show (i.e. read) the log.