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

Re: [PATCH v11 5/5] help: respect new common command grouping

From
Sébastien Guimmara <sebastien.guimmara@gmail.com>
Date
May 25, 2015, 17:25 UTC
Message-ID
<55635B11.8000906@gmail.com>
In-Reply-To
<CAPig+cQ0ExDCoSU_P02on0U+8WXbyGbZecK-4vrUVFp1Mo11hA@mail.gmail.com>
On 05/21/2015 08:04 PM, Eric Sunshine wrote:
Show 23 quoted lines
> On Thu, May 21, 2015 at 1:39 PM, Sébastien Guimmara
> <sebastien.guimmara@gmail.com> wrote:
>> 'git help' shows common commands in alphabetical order:
>>
>> The most commonly used git commands are:
>>     add        Add file contents to the index
>>     bisect     Find by binary search the change that introduced a bug
>>     branch     List, create, or delete branches
>>     checkout   Checkout a branch or paths to the working tree
>>     clone      Clone a repository into a new directory
>>     commit     Record changes to the repository
>>     [...]
>>
>> without any indication of how commands relate to high-level
>> concepts or each other. Revise the output to explain their relationship
>> with the typical Git workflow:
>>
>> The most commonly used git commands are:
>
> The above line in the commit message does not match the actual output:
>
>      "These are common Git commands used in various situations:"
>
Thanks. Will correct this.
Show 65 quoted lines
>> start a working area (see also: git help tutorial)
>>     clone      Clone a repository into a new directory
>>     init       Create an empty Git repository or reinitialize [...]
>>
>> work on the current change (see also: git help everyday)
>>     add        Add file contents to the index
>>     reset      Reset current HEAD to the specified state
>>
>> examine the history and state (see also: git help revisions)
>>     log        Show commit logs
>>     status     Show the working tree status
>>
>>     [...]
>>
>> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
>> Signed-off-by: Sébastien Guimmara <sebastien.guimmara@gmail.com>
>> ---
>> diff --git a/help.c b/help.c
>> index 2072a87..8f72051 100644
>> --- a/help.c
>> +++ b/help.c
>> @@ -218,17 +218,39 @@ void list_commands(unsigned int colopts,
>>          }
>>   }
>>
>> +static int cmd_group_cmp(const void *elem1, const void *elem2)
>> +{
>> +       const struct cmdname_help *e1 = elem1;
>> +       const struct cmdname_help *e2 = elem2;
>> +
>> +       if (e1->group < e2->group)
>> +               return -1;
>> +       if (e1->group > e2->group)
>> +               return 1;
>> +       return strcmp(e1->name, e2->name);
>> +}
>> +
>>   void list_common_cmds_help(void)
>>   {
>>          int i, longest = 0;
>> +       int current_grp = -1;
>>
>>          for (i = 0; i < ARRAY_SIZE(common_cmds); i++) {
>>                  if (longest < strlen(common_cmds[i].name))
>>                          longest = strlen(common_cmds[i].name);
>>          }
>>
>> -       puts(_("The most commonly used git commands are:"));
>> +       qsort(common_cmds, ARRAY_SIZE(common_cmds),
>> +               sizeof(common_cmds[0]), cmd_group_cmp);
>> +
>> +       puts(_("These are common Git commands used in various situations:"));
>> +
>>          for (i = 0; i < ARRAY_SIZE(common_cmds); i++) {
>> +               if (common_cmds[i].group != current_grp) {
>> +                       printf("\n%s\n", _(common_cmd_groups[common_cmds[i].group]));
>> +                       current_grp = common_cmds[i].group;
>> +               }
>> +
>>                  printf("   %s   ", common_cmds[i].name);
>>                  mput_char(' ', longest - strlen(common_cmds[i].name));
>>                  puts(_(common_cmds[i].help));
>> --
>> 2.4.0.GIT
Previous: Eric SunshineNext: Eric Sunshine
Message 12 of 13 in “group common commands by theme”
  1. 0/5 group common commands by themeSébastien Guimmara, May 21, 2015
  2. 1/5 command-list: prepare machinery for upcoming "common groups" sectionSébastien Guimmara, May 21, 2015
  3. 2/5 command-list.txt: add the common groups blockSébastien Guimmara, May 21, 2015
  4. Eric SunshineMay 21, 2015
  5. Sébastien GuimmaraMay 25, 2015
  6. Eric SunshineMay 26, 2015
  7. Junio C HamanoMay 26, 2015
  8. 3/5 generate-cmdlist: parse common group commandsSébastien Guimmara, May 21, 2015
  9. 4/5 command-list.txt: drop the "common" tagSébastien Guimmara, May 21, 2015
  10. 5/5 help: respect new common command groupingSébastien Guimmara, May 21, 2015
  11. Eric SunshineMay 21, 2015
  12. Sébastien GuimmaraMay 25, 2015
  13. Eric SunshineMay 21, 2015

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.