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

Re: Git global usage and tests

From
Jeff King <peff@peff.net>
Date
May 30, 2011, 15:36 UTC
Message-ID
<20110530153620.GA24431@sigill.intra.peff.net>
In-Reply-To
<754E784F-51C6-4B8D-B15D-3FF8B7AF1321@gmail.com>
On Mon, May 30, 2011 at 04:58:14PM +0200, Romain Geissler wrote:
Show 9 quoted lines
> Indeed the test t2050-git-dir-relative.sh run :
> 
> echo changed >top &&
> git --git-dir subdir/.git add top &&
> git --git-dir subdir/.git commit -m topcommit &&
> test -r "${COMMIT_FILE}"
> 
> But according to the git help, it should have specified a git-dir with --git-dir=value ie
> git --git-dir=subdir/.git add top

The test is OK. Long options that have a required argument can be expressed as either:

  --long-option=value
or
  --long-option value

Long options with an optional argument must use the first form, as the second one is ambiguous (is "value" the value, or the next option?).

Your option parser needs to follow these rules to be compatible with git. Have you considered pulling the parse-options parser from git into libgit2? It's one of the more modularized and lib-ified bits of code in git already.

-Peff
Previous: Romain GeisslerNext: Romain Geissler
Message 2 of 9 in “Git global usage and tests”
  1. Romain GeisslerMay 30, 2011
  2. Jeff KingMay 30, 2011
  3. Romain GeisslerMay 30, 2011
  4. Jeff KingMay 30, 2011
  5. Miles BaderMay 31, 2011
  6. Carlos Martín NietoMay 31, 2011
  7. Junio C HamanoMay 31, 2011
  8. Ævar Arnfjörð BjarmasonMay 31, 2011
  9. Jeff KingMay 31, 2011

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.