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

[PATCH v3 0/2] add usage-strings ci check and amend remaining usage strings

From
Abhradeep Chakraborty via GitGitGadget <gitgitgadget@gmail.com>
Date
Feb 23, 2022, 14:27 UTC
Message-ID
<pull.1147.v3.git.1645626455.gitgitgadget@gmail.com>
In-Reply-To
<pull.1147.v2.git.1645545507689.gitgitgadget@gmail.com>
This patch series completely fixes #636.

The issue is about amending the usage-strings (for command flags such as -h, -v etc.) which do not follow the style convention/guide. There was a PR [https://github.com/gitgitgadget/git/pull/920] addressing this issue but as Johannes [https://github.com/dscho] said in his comment [https://github.com/gitgitgadget/git/issues/636#issuecomment-1018660439], there are some files that still have those kind of usage strings. Johannes also suggested to add a CI check under ci/test-documentation.sh to check the usage strings.

In this version, the previously single commit is split into two commits ( one addressing amending of usage strings and another is for adding the style checks to parse_options_check()) and the checks are simplified.

Changes since v1:
 1. remove check-usage-strings.sh
 2. remove CI check
 3. add checks to parse-options.c
 4. modify t/t1502-rev-parse-parseopt.sh to pass the test
Until v1:

A shell script check-usage-strings.sh was introduced to check the usage-strings. CI check for the same was also introduced.

Abhra303 (1):
  amend remaining usage strings according to style guide
Abhradeep Chakraborty (1):
  parse-options.c: add style checks for usage-strings
 builtin/bisect--helper.c      | 2 +-
 builtin/reflog.c              | 6 +++---
 builtin/submodule--helper.c   | 2 +-
 diff.c                        | 2 +-
 parse-options.c               | 6 ++++++
 t/helper/test-run-command.c   | 6 +++---
 t/t1502-rev-parse-parseopt.sh | 4 ++--
 7 files changed, 17 insertions(+), 11 deletions(-)
base-commit: e6ebfd0e8cbbd10878070c8a356b5ad1b3ca464e
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1147%2FAbhra303%2Fusage_command_amend-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1147/Abhra303/usage_command_amend-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1147
Range-diff vs v2:
 1:  902937e768d ! 1:  f425e36b7ea add usage-strings check  and amend remaining usage strings
     @@ Metadata
      Author: Abhra303 <chakrabortyabhradeep79@gmail.com>
      
       ## Commit message ##
     -    add usage-strings check  and amend remaining usage strings
     +    amend remaining usage strings according to style guide
      
          Usage strings for git (sub)command flags has a style guide that
     -    suggests - first letter should not capitalized (unless requied)
     +    suggests - first letter should not capitalized (unless required)
          and it should skip full-stop at the end of line. But there are
          some files where usage-strings do not follow the above mentioned
     -    guide. Moreover, there are no checks to verify if all usage strings
     -    are following the guide/convention or not.
     +    guide.
      
     -    Amend the usage strings that don't follow the convention/guide and
     -    add a check in the `parse_options_check()` function in `parse-options.c`
     -    to check the usage strings against the style guide.
     +    Amend the usage strings that don't follow the style convention/guide.
      
          Signed-off-by: Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
      
     @@ diff.c: static void prep_parse_options(struct diff_options *options)
       
       		OPT_END()
      
     - ## parse-options.c ##
     -@@ parse-options.c: static void parse_options_check(const struct option *opts)
     - 		default:
     - 			; /* ok. (usually accepts an argument) */
     - 		}
     -+		if (opts->type != OPTION_GROUP && opts->help &&
     -+			!(starts_with(opts->help, "HEAD") ||
     -+			  starts_with(opts->help, "GPG") ||
     -+			  starts_with(opts->help, "DEPRECATED") ||
     -+			  starts_with(opts->help, "SHA1")) &&
     -+			  (opts->help[0] >= 65 && opts->help[0] <= 90))
     -+			err |= optbug(opts, xstrfmt("help should not start with capital letter unless needed: %s", opts->help));
     -+		if (opts->help && !ends_with(opts->help, "...") && ends_with(opts->help, "."))
     -+			err |= optbug(opts, xstrfmt("help should not end with a dot: %s", opts->help));
     - 		if (opts->argh &&
     - 		    strcspn(opts->argh, " _") != strlen(opts->argh))
     - 			err |= optbug(opts, "multi-word argh should use dash to separate words");
     -
       ## t/helper/test-run-command.c ##
      @@ t/helper/test-run-command.c: static int quote_stress_test(int argc, const char **argv)
       	struct strbuf out = STRBUF_INIT;
     @@ t/helper/test-run-command.c: static int quote_stress_test(int argc, const char *
       		OPT_END()
       	};
       	const char * const usage[] = {
     -
     - ## t/t1502-rev-parse-parseopt.sh ##
     -@@ t/t1502-rev-parse-parseopt.sh: test_expect_success 'setup optionspec-only-hidden-switches' '
     - |
     - |some-command does foo and bar!
     - |--
     --|hidden1* A hidden switch
     -+|hidden1* a hidden switch
     - EOF
     - '
     - 
     -@@ t/t1502-rev-parse-parseopt.sh: test_expect_success 'test --parseopt help-all output hidden switches' '
     - |
     - |    some-command does foo and bar!
     - |
     --|    --hidden1             A hidden switch
     -+|    --hidden1             a hidden switch
     - |
     - |EOF
     - END_EXPECT
 -:  ----------- > 2:  9d42bdbff6c parse-options.c: add style checks for usage-strings
-- 
gitgitgadget
Previous: Abhradeep ChakrabortyNext: Abhra303 via GitGitGadget
Message 26 of 58 in “add usage-strings ci check and amend remaining usage strings”
  1. add usage-strings ci check and amend remaining usage stringsAbhradeep Chakraborty via GitGitGadget, Feb 16, 2022
  2. Abhradeep ChakrabortyFeb 21, 2022
  3. Ævar Arnfjörð BjarmasonFeb 21, 2022
  4. Junio C HamanoFeb 21, 2022
  5. Abhradeep ChakrabortyFeb 21, 2022
  6. Ævar Arnfjörð BjarmasonFeb 21, 2022
  7. Johannes SchindelinFeb 22, 2022
  8. Ævar Arnfjörð BjarmasonFeb 22, 2022
  9. Julia LawallFeb 22, 2022
  10. Abhradeep ChakrabortyFeb 22, 2022
  11. Abhradeep ChakrabortyFeb 22, 2022
  12. Johannes SchindelinFeb 25, 2022
  13. Ævar Arnfjörð BjarmasonFeb 25, 2022
  14. Abhradeep ChakrabortyFeb 26, 2022
  15. Julia LawallFeb 26, 2022
  16. Johannes SchindelinFeb 25, 2022
  17. Julia LawallFeb 25, 2022
  18. Ævar Arnfjörð BjarmasonFeb 25, 2022
  19. Abhradeep ChakrabortyFeb 22, 2022
  20. add usage-strings check and amend remaining usage stringsAbhradeep Chakraborty via GitGitGadget, Feb 22, 2022
  21. Eric SunshineFeb 22, 2022
  22. Abhradeep ChakrabortyFeb 23, 2022
  23. Junio C HamanoFeb 23, 2022
  24. Eric SunshineFeb 23, 2022
  25. Abhradeep ChakrabortyFeb 24, 2022
  26. 0/2 add usage-strings ci check and amend remaining usage stringsAbhradeep Chakraborty via GitGitGadget, Feb 23, 2022
  27. 1/2 amend remaining usage strings according to style guideAbhra303 via GitGitGadget, Feb 23, 2022
  28. 2/2 parse-options.c: add style checks for usage-stringsAbhradeep Chakraborty via GitGitGadget, Feb 23, 2022
  29. 0/2 add usage-strings ci check and amend remaining usage stringsAbhradeep Chakraborty via GitGitGadget, Feb 25, 2022
  30. 1/2 amend remaining usage strings according to style guideAbhradeep Chakraborty via GitGitGadget, Feb 25, 2022
  31. 2/2 parse-options.c: add style checks for usage-stringsAbhradeep Chakraborty via GitGitGadget, Feb 25, 2022
  32. Junio C HamanoFeb 25, 2022
  33. Abhradeep ChakrabortyFeb 25, 2022
  34. Junio C HamanoFeb 25, 2022
  35. Abhradeep ChakrabortyFeb 26, 2022
  36. Johannes SchindelinFeb 25, 2022
  37. Abhradeep ChakrabortyFeb 25, 2022
  38. Junio C HamanoFeb 26, 2022
  39. Junio C HamanoFeb 26, 2022
  40. Abhradeep ChakrabortyFeb 26, 2022
  41. Junio C HamanoFeb 27, 2022
  42. Abhradeep ChakrabortyFeb 28, 2022
  43. Junio C HamanoFeb 28, 2022
  44. Ævar Arnfjörð BjarmasonFeb 28, 2022
  45. Abhradeep ChakrabortyMar 1, 2022
  46. Junio C HamanoMar 1, 2022
  47. Johannes SchindelinMar 1, 2022
  48. Abhradeep ChakrabortyMar 3, 2022
  49. Junio C HamanoMar 3, 2022
  50. Abhradeep ChakrabortyMar 4, 2022
  51. Johannes SchindelinMar 7, 2022
  52. Abhradeep ChakrabortyMar 8, 2022
  53. parse-options: make parse_options_check() test-onlyJunio C Hamano, Mar 1, 2022
  54. Ævar Arnfjörð BjarmasonMar 1, 2022
  55. Junio C HamanoMar 1, 2022
  56. Ævar Arnfjörð BjarmasonMar 2, 2022
  57. Junio C HamanoMar 2, 2022
  58. Ævar Arnfjörð BjarmasonMar 2, 2022

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.