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

Re: "man git-checkout", man page is inconsistent between SYNOPSIS and details

From
Kevin Daudt <me@ikke.info>
Date
Sep 30, 2017, 14:32 UTC
Message-ID
<20170930143258.GA20886@alpha.vpn.ikke.info>
In-Reply-To
<alpine.LFD.2.21.1709300523190.27819@localhost.localdomain>
On Sat, Sep 30, 2017 at 05:27:22AM -0400, Robert P. J. Day wrote:
Show 13 quoted lines
> 
>   just noticed that in "man git-checkout", the SYNOPSIS contains the
> line:
> 
>   git checkout [-p|--patch] [<tree-ish>] [--] [<paths>...]
> 
> implying that <paths> is optional, but further down in the
> DESCRIPTION, one reads:
> 
>   git checkout [-p|--patch] [<tree-ish>] [--] <pathspec>...
> 
> suggesting that <pathspec> is required.
> 
Hello Robert, thank you for this report.
Git checkout has 2 major modes of operating:
1. Checking out branches (and then update your working tree to match that
  commit.
2. Checking out 1 or more files from a commit.

The first four lines of the synopsis match mode nr. 1. The next two belong to mode nr. 2.

The pathspec in the synopsis line you are quoting is required, because that's how you tell git you want mode nr 2. That's why it's not mentioned between []. The last section under description explains that mode.

Do you feel this distinction needs to be made more clear?
Kevin.
Previous: Robert P. J. DayNext: Robert P. J. Day
Message 2 of 11 in “"man git-checkout", man page is inconsistent between SYNOPSIS and details”
  1. Robert P. J. DaySep 30, 2017
  2. Kevin DaudtSep 30, 2017
  3. Robert P. J. DaySep 30, 2017
  4. Robert P. J. DaySep 30, 2017
  5. Junio C HamanoOct 1, 2017
  6. Robert P. J. DayOct 1, 2017
  7. Junio C HamanoOct 2, 2017
  8. checkout doc: clarify command line args for "checkout paths" modeJunio C Hamano, Oct 11, 2017
  9. Jonathan NiederOct 11, 2017
  10. Junio C HamanoOct 11, 2017
  11. Jonathan NiederOct 11, 2017

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.