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

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

From
Tian Yuchen <cat@malon.dev>
Date
Mar 10, 2026, 05:30 UTC
Message-ID
<20260310053032.129327-1-cat@malon.dev>
In-Reply-To
<20260309172719.125419-1-cat@malon.dev>

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 | 6 ++++--
 Documentation/diff-options.adoc         | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Documentation/diff-context-options.adoc b/Documentation/diff-context-options.adoc
index e161260358..42d29a0c00 100644
--- a/Documentation/diff-context-options.adoc
+++ b/Documentation/diff-context-options.adoc
@@ -1,7 +1,9 @@
 `-U<n>`::
 `--unified=<n>`::
-	Generate diffs with _<n>_ lines of context. Defaults to `diff.context`
-	or 3 if the config option is unset.
+	Generate diffs with _<n>_ lines of context. The number of context
+	lines 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).
 
 `--inter-hunk-context=<n>`::
 	Show the context between diff hunks, up to the specified _<number>_
diff --git a/Documentation/diff-options.adoc b/Documentation/diff-options.adoc
index 9cdad6f72a..40502639a2 100644
--- a/Documentation/diff-options.adoc
+++ b/Documentation/diff-options.adoc
@@ -127,8 +127,10 @@ endif::git-log[]
 
 `-U<n>`::
 `--unified=<n>`::
-	Generate diffs with _<n>_ lines of context instead of
-	the usual three.
+	Generate diffs with _<n>_ lines of context. The number of context
+	lines 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).	
 ifndef::git-format-patch[]
 	Implies `--patch`.
 endif::git-format-patch[]
-- 
2.43.0
Previous: Tian YuchenNext: Oswald Buddenhagen
Message 8 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.