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

Re: [PATCH 0/25] Usage message clean-up

From
A Large Angry SCM <gitzilla@gmail.com>
Date
Dec 10, 2005, 22:13 UTC
Message-ID
<439B5325.8000504@gmail.com>
In-Reply-To
<1134243476675-git-send-email-freku045@student.liu.se>

freku045@student.liu.se wrote: ...

> I have tried to follow the following rules:
> 
> * Any unrecognised options should make the script die with the usage
>   message.
Good.
> * -h and --help makes the script die with the usage message.
This should not be an error. The user was asking for the usage message.
> * The message is printed to stderr.

Good unless the message was printed due to -h or --help, then it should go to stdout.

Show 7 quoted lines
> * The message is of the form "usage: $0 options"
> 
> I am not convinced that the last bullet point is the best way to do
> things. Using "$0" is probably best for Git developers but using "git
> program-name" is probably least confusing for users, especially if we
> are going to move the git-* binaries away from /usr/bin. Another
> option is "basename $0". What do you think?

Not using $0 can make it _extremely_ annoying to determine exactly which program printed the usage message. It may look prettier without the path but if I have more that one $(basename $0) it may not be trivial to determine the one that issued the message. Also keep in mind that is it possible to have spaces in names of executables. So, "foo-bar" and "foo bar" may be two different executables.

Previous: freku045@student.liu.seNext: Johannes Schindelin
Message 31 of 34 in “Usage message clean-up”
  1. 0/25 Usage message clean-upfreku045@student.liu.se, Dec 10, 2005
  2. 1/25 git-bisect: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  3. 4/25 git-cherry: Print the usage message if we get an unknown option.freku045@student.liu.se, Dec 10, 2005
  4. 2/25 git-branch: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  5. 3/25 git-checkout: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  6. 9/25 git-format-patch: Use the 'die'-function where appropriate.freku045@student.liu.se, Dec 10, 2005
  7. 6/25 git-commit: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  8. 5/25 git-clone: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  9. 7/25 git-count-objects: Die with usage message if we are invoked incorrectly.freku045@student.liu.se, Dec 10, 2005
  10. Junio C HamanoDec 11, 2005
  11. 8/25 git-fetch: Print usage message if we get an unrecognized option.freku045@student.liu.se, Dec 10, 2005
  12. 10/25 git-grep: Print usage message on '-h' and '--help'.freku045@student.liu.se, Dec 10, 2005
  13. 16/25 git-push: Clean up usage messagefreku045@student.liu.se, Dec 10, 2005
  14. 15/25 git-pull: Don't print an extra new line at the end of the usage message.freku045@student.liu.se, Dec 10, 2005
  15. 13/25 git-merge: Print $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  16. 16/25 git-push: Clean-up usage messagefreku045@student.liu.se, Dec 10, 2005
  17. 14/25 git-prune: Print $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  18. 11/25 git-revert: Fix usage messagefreku045@student.liu.se, Dec 10, 2005
  19. 12/25 git-lost-found: Print usage message on incorrect invocation.freku045@student.liu.se, Dec 10, 2005
  20. 19/25 git-request-pull: Print usage message to stderr.freku045@student.liu.se, Dec 10, 2005
  21. 20/25 git-reset: Use $0 instead of program name in usage message.freku045@student.liu.se, Dec 10, 2005
  22. 17/25 git-relink: Print usage message to stderr.freku045@student.liu.se, Dec 10, 2005
  23. Junio C HamanoDec 11, 2005
  24. 18/25 git-repack: Print usage message on unrecognized option.freku045@student.liu.se, Dec 10, 2005
  25. 21/25 git-send-email: Usage message clean-up.freku045@student.liu.se, Dec 10, 2005
  26. Junio C HamanoDec 11, 2005
  27. 23/25 git-tag: Clean-up usage message.freku045@student.liu.se, Dec 10, 2005
  28. 22/25 git-status: Print usage message on incorrect invocation.freku045@student.liu.se, Dec 10, 2005
  29. 25/25 git-mv: Clean-up usage message.freku045@student.liu.se, Dec 10, 2005
  30. 24/25 git-verify-tag: Clean-up usage message.freku045@student.liu.se, Dec 10, 2005
  31. A Large Angry SCMDec 10, 2005
  32. Johannes SchindelinDec 10, 2005
  33. Junio C HamanoDec 11, 2005
  34. Nikolai WeibullDec 11, 2005

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.