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

Re: [PATCH v4 1/2] t/t1517: automate `git subcmd -h` tests outside a repository

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 28, 2025, 15:08 UTC
Message-ID
<xmqqzfcoxshr.fsf@gitster.g>
In-Reply-To
<CALnO6CCN0HUXJVYmvAJO3EoQQZzHVjE0P=g+AUc9c5Ti0Rcm2w@mail.gmail.com>
"D. Ben Knoble" <ben.knoble@gmail.com> writes:
Show 17 quoted lines
>> +for cmd in $(git --list-cmds=main)
>> +do
>> +       cmd=${cmd%.*} # strip .sh, .perl, etc.
>> +       case "$cmd" in
>> +       archimport | cvsexportcommit | cvsimport | cvsserver | daemon | \
>> +       difftool--helper | filter-branch | fsck-objects | get-tar-commit-id | \
>> +       http-backend | http-fetch | http-push | init-db | instaweb.sh | \
>> +       merge-octopus | merge-one-file | merge-resolve | mergetool | \
>> +       mktag | p4 | p4.py | pickaxe | quiltimport | remote-ftp | remote-ftps | \
>
> Hm—if we strip the suffix with ${cmd%.*}, do we need a p4.py
> pattern too?  Actually, at first I wondered why we need to strip
> the suffix at all. My local Git produces only unsuffixed commands.
> ...
> bin-wrappers/git produces both p4 and p4.py; request-pull and
> request-pull.sh; and several others. So I think stripping is probably
> right, just drop the .py pattern.

Ahh, OK, I didn't realize that bin-wrappers gets into the picture. So you're right. Fixing the bin-wrappers may be necessary, but dropping the extra ones is certainly a good idea.

Show 6 quoted lines
>> +       test_$expect_outcome "'git $cmd -h' outside a repository" '
>> +               test_expect_code 129 nongit git $cmd -h >usage &&
>> +               echo "Hello" &&
>
> Woops! While basing some work on this branch, I spotted this "echo"—I
> assume it's leftover and didn't mean to be included here?
;-)
Previous: D. Ben KnobleNext: D. Ben Knoble
Message 24 of 53 in “move builtin help test to t1517”
  1. 0/7 move builtin help test to t1517Usman Akinyemi, Jul 6, 2025
  2. 1/7 t/t1517: move checkout-index -h test to t1517Usman Akinyemi, Jul 6, 2025
  3. 2/7 t/t1517: move for-each-ref -h test to t1517Usman Akinyemi, Jul 6, 2025
  4. 3/7 t/t1517: move ls-files -h test to t1517Usman Akinyemi, Jul 6, 2025
  5. 4/7 t/t1517: move pack-refs -h test to t1517Usman Akinyemi, Jul 6, 2025
  6. 5/7 t/t1517: move send-pack -h test to t1517Usman Akinyemi, Jul 6, 2025
  7. 6/7 t/t1517: move verify-commit -h test to t1517Usman Akinyemi, Jul 6, 2025
  8. 7/7 t/t1517: move verify-tag -h test to t1517Usman Akinyemi, Jul 6, 2025
  9. 0/7 move builtin help test to t1517Usman Akinyemi, Jul 6, 2025
  10. 1/7 t/t1517: move checkout-index -h test to t1517Usman Akinyemi, Jul 6, 2025
  11. 2/7 t/t1517: move for-each-ref -h test to t1517Usman Akinyemi, Jul 6, 2025
  12. 3/7 t/t1517: move ls-files -h test to t1517Usman Akinyemi, Jul 6, 2025
  13. 4/7 t/t1517: move pack-refs -h test to t1517Usman Akinyemi, Jul 6, 2025
  14. 5/7 t/t1517: move send-pack -h test to t1517Usman Akinyemi, Jul 6, 2025
  15. 6/7 t/t1517: move verify-commit -h test to t1517Usman Akinyemi, Jul 6, 2025
  16. Junio C HamanoJul 7, 2025
  17. Usman AkinyemiJul 10, 2025
  18. Junio C HamanoJul 11, 2025
  19. 0/2 refactor t1517 to focus on help output outside a repositoryUsman Akinyemi, Jul 21, 2025
  20. 1/2 t/t1517: automate `git subcmd -h` tests outside a repositoryUsman Akinyemi, Jul 21, 2025
  21. D. Ben KnobleJul 26, 2025
  22. Usman AkinyemiJul 26, 2025
  23. D. Ben KnobleJul 30, 2025
  24. Junio C HamanoJul 28, 2025
  25. D. Ben KnobleAug 2, 2025
  26. Usman AkinyemiAug 3, 2025
  27. D. Ben KnobleJul 26, 2025
  28. D. Ben KnobleJul 26, 2025
  29. Usman AkinyemiJul 26, 2025
  30. D. Ben KnobleJul 30, 2025
  31. Junio C HamanoJul 28, 2025
  32. Phillip WoodAug 26, 2025
  33. D. Ben KnobleAug 28, 2025
  34. Phillip WoodAug 29, 2025
  35. D. Ben KnobleAug 29, 2025
  36. Junio C HamanoAug 29, 2025
  37. Usman AkinyemiAug 30, 2025
  38. 2/2 t5200: move `update-server-info -h` test from t1517Usman Akinyemi, Jul 21, 2025
  39. D. Ben KnobleJul 26, 2025
  40. 0/3 refactor t1517 to focus on help output outside a repositoryUsman Akinyemi, Aug 3, 2025
  41. 1/3 t/t1517: automate `git subcmd -h` tests outside a repositoryUsman Akinyemi, Aug 3, 2025
  42. D. Ben KnobleAug 3, 2025
  43. Junio C HamanoAug 3, 2025
  44. Usman AkinyemiAug 6, 2025
  45. 2/3 t5200: move `update-server-info -h` test from t1517Usman Akinyemi, Aug 3, 2025
  46. 3/3 t5304: move `prune -h` test from t1517Usman Akinyemi, Aug 3, 2025
  47. 0/3 refactor t1517 to focus on help output outside a repositoryUsman Akinyemi, Aug 8, 2025
  48. 1/3 t/t1517: automate `git subcmd -h` tests outside a repositoryUsman Akinyemi, Aug 8, 2025
  49. 2/3 t5200: move `update-server-info -h` test from t1517Usman Akinyemi, Aug 8, 2025
  50. 3/3 t5304: move `prune -h` test from t1517Usman Akinyemi, Aug 8, 2025
  51. Junio C HamanoAug 8, 2025
  52. D. Ben KnobleAug 9, 2025
  53. 7/7 t/t1517: move verify-tag -h test to t1517Usman Akinyemi, Jul 6, 2025

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.