git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] Group the default git help message by topic

From
Scott Chacon <schacon@gmail.com>
Date
Jun 14, 2010, 15:31 UTC
Message-ID
<AANLkTimFUGkYeZaXA7BqX8ghsHX_gGYRK69ScHMXbw2l@mail.gmail.com>
In-Reply-To
<7vbpbeazy5.fsf@alter.siamese.dyndns.org>
Hey,
On Sun, Jun 13, 2010 at 11:30 PM, Junio C Hamano <gitster@pobox.com> wrote:
>
> I am lazy, and I loathe having to maintain another hardcoded table (let
> alone sequence of print_command() calls, like this patch does, yuck).
>

Sorry, but it seemed to me this would have to be separately maintained anyhow, plus it doesn't change much. How often are basic commands going to be added or removed? Also, it may not be that pretty, but it's undeniably clear.

Show 5 quoted lines
> The two words, "21" and "group", in your proposed commit log message have
> been nagging me for a while, and I finally figured out why this patch made
> me feel very disturbed.  We already have a perfect source to generate the
> necessary most commonly used command list with a good grouping hint, but
> the patch does not make use of it.
The only issue I would have with this statement is the word 'perfect'.

To disambiguate what we're talking about here, this is the output that is generated from this new patch:

Some commonly used git commands per developer roles are:
 * Individual Developer (Standalone)
   init          Create an empty git repository or reinitialize an existing one
   show-branch   Show branches and their commits
   log           Show commit logs
   checkout      Checkout a branch or paths to the working tree
   add           Add file contents to the index
   diff          Show changes between commits, commit and working tree, etc
   commit        Record changes to the repository
   reset         Reset current HEAD to the specified state
   merge         Join two or more development histories together
   rebase        Forward-port local commits to the updated upstream head
   tag           Create, list, delete or verify a tag object signed with GPG
 * Individual Developer (Participant)
   clone         Clone a repository into a new directory
   pull          Fetch from and merge with another repository or a local branch
   push          Update remote refs along with associated objects
   format-patch  Prepare patches for e-mail submission
 * Integrator
   am            Apply a series of patches from a mailbox
   revert        Revert an existing commit
 * Repository Administration
   daemon        A really simple server for git repositories
   shell         Restricted login shell for GIT-only SSH access

Though the implementation of the solution is undeniably more elegant, I have some serious issues with the output. As you mention next, 'show-branches' is second in the list, which is an issue, but there are several more. 'am', 'revert', 'daemon', 'shell', 'rebase' - none of these are appropriate for someone running 'git' and trying to see where to start. If we put those aside, all we have is a big list of commands again which adds almost no value to what we had before.

Show 6 quoted lines
> If readers notice that there are some commands that are out of fashion
> (e.g. I don't think many people use show-branch anymore in the presence of
> "log --oneline --graph" and friends) listed in the "git help" output, that
> is a _good thing_.  It will give us an incentive to keep the Everyday
> document up to date, and with the effort spent for that, "git help" will
> automatically be kept up to date as well for free ;-)

That's a fine goal, but I feel like it shouldn't be an "everyday" document that generates that output, it should be a "beginner" document or a "how to start using Git" document that isn't really in the Git source. I mean, I suppose we could write one with the goal of using it to generate the help output, but given how much people disagreed with even the basic grouping of the first patch I sent, I can't see how we're going to agree on a new help doc. Perhaps we should decide on what we would ultimately like the basic help output to look like and then I can craft a document that would produce it given this patch and then the list can rip it apart until it's basically acceptable.

Thoughts?
Scott
Previous: Junio C HamanoNext: Tay Ray Chuan
Message 12 of 16 in “Group the default git help message by topic”
  1. Group the default git help message by topicScott Chacon, Jun 11, 2010
  2. Wincent ColaiutaJun 11, 2010
  3. A Large Angry SCMJun 11, 2010
  4. Ævar Arnfjörð BjarmasonJun 11, 2010
  5. Scott ChaconJun 12, 2010
  6. Ævar Arnfjörð BjarmasonJun 12, 2010
  7. A Large Angry SCMJun 12, 2010
  8. Scott ChaconJun 12, 2010
  9. Wincent ColaiutaJun 12, 2010
  10. Ævar Arnfjörð BjarmasonJun 11, 2010
  11. Junio C HamanoJun 14, 2010
  12. Scott ChaconJun 14, 2010
  13. Tay Ray ChuanJun 14, 2010
  14. Scott ChaconJun 14, 2010
  15. Junio C HamanoJun 14, 2010
  16. Matthieu MoyJun 14, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.