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

Re: [PATCH v1] diff: document -U without <n> as using default context

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 9, 2026, 22:17 UTC
Message-ID
<xmqqwlzk1wd8.fsf@gitster.g>
In-Reply-To
<20260309172719.125419-1-cat@malon.dev>
Tian Yuchen <cat@malon.dev> writes:
Show 16 quoted lines
> The documentation for '-U<n>' implies that the numeric value '<n>' is
> mandatory. However, the command line parser has historically accepted
> '-U' without a number.
>
> Strictly requiring a number for '-U' would break existing tests
> (e.g., in 't4013') and likely disrupt user scripts relying on this
> undocumented behavior.
>
> Since we are retaining this fallback behavior for backward compatibility,
> update the documentation to explicitly state that '<n>' can be omitted
> for the short option '-U'.
>
> Signed-off-by: Tian Yuchen <cat@malon.dev>
> ---
>  Documentation/diff-context-options.adoc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
I am moderately nagative.

It is not like we are _encouraging_ users to omit <n> from -U<n>, but it is not errored out only due to a bug. Who would the new text help? Users would wonder why <n> is not optional in --unified=<n>, the other way to spell the same thing.

If we want to be explicit, we should probably do this instead:
    `-U<n>`::
    `--unified=<n>`::
            Generate diffs with _<n>_ lines of context. Defaults to `diff.context`
            or 3 if the config option is unset (`-U` without '<n>' is accepted
            as a silent synonym for `-p` due to a historical accident).

which would tell readers what happens when '<n>' is omitted and why we allow such an inconsistency.

Previous: Tian YuchenNext: Tian Yuchen
Message 6 of 14 in “An annoying "Bug" that we would probably leave as-is”
  1. Junio C HamanoMar 6, 2026
  2. Tian YuchenMar 9, 2026
  3. diff: document -U without <n> as using default contextTian Yuchen, Mar 9, 2026
  4. D. Ben KnobleMar 9, 2026
  5. Tian YuchenMar 10, 2026
  6. Junio C HamanoMar 9, 2026
  7. Tian YuchenMar 10, 2026
  8. diff: document -U without <n> as using default contextTian Yuchen, Mar 10, 2026
  9. Oswald BuddenhagenMar 10, 2026
  10. Tian YuchenMar 10, 2026
  11. Junio C HamanoMar 10, 2026
  12. diff: document -U without <n> as using default contextTian Yuchen, Mar 10, 2026
  13. Jean-Noël AVILAMar 10, 2026
  14. Tian YuchenMar 11, 2026

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.