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

[PATCH 3/3] diff-format.adoc: mode and hash are 0* for unmerged paths from index only

From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
Date
May 15, 2026, 15:48 UTC
Message-ID
<bf103e169b7c7c8a68ae4191514cfe517c577f6d.1778860091.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.2304.git.git.1778860091.gitgitgadget@gmail.com>
From: Philippe Blain <levraiphilippeblain@gmail.com>

In the "Raw output format" section, we mention that the 'mode' and 'sha1' for "src" and "dst" are 0* if "(creation|deletion) or unmerged". For unmerged entries, 'mode' and 'sha1' are in fact 0* only when we are looking at the index, i.e. on the left side for 'git diff-files' and on the right side for 'git diff-index --cached'. Be more precise by mentioning this, and while at it uniformize the wording of the "work tree out of sync with the index" case.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 Documentation/diff-format.adoc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Documentation/diff-format.adoc b/Documentation/diff-format.adoc
index 43d91ef868..ef5df140fe 100644
--- a/Documentation/diff-format.adoc
+++ b/Documentation/diff-format.adoc
@@ -37,13 +37,13 @@ unmerged       :000000 000000 0000000 0000000 U file6
 That is, from the left to the right:
 
 . a colon.
-. mode for "src"; 000000 if creation or unmerged.
+. mode for "src"; 000000 if creation, or if "src" is from the index and is unmerged.
 . a space.
-. mode for "dst"; 000000 if deletion or unmerged.
+. mode for "dst"; 000000 if deletion, or if "dst" is from the index and is unmerged.
 . a space.
-. sha1 for "src"; 0\{40\} if creation or unmerged.
+. sha1 for "src"; 0\{40\} if creation, or if "src" is from the index and is unmerged.
 . a space.
-. sha1 for "dst"; 0\{40\} if deletion, unmerged or "work tree out of sync with the index".
+. sha1 for "dst"; 0\{40\} if deletion, if "dst" is from the index and is unmerged, or if "dst" is from the work tree and is out of sync with the index.
 . a space.
 . status, followed by optional "score" number.
 . a tab or a NUL when `-z` option is used.
-- 
gitgitgadget
Previous: Philippe Blain via GitGitGadget
Message 4 of 4 in “Some more "Raw output format" doc improvements”
  1. 0/3 Some more "Raw output format" doc improvementsPhilippe Blain via GitGitGadget, May 15, 2026
  2. 1/3 diff-format.adoc: remove mention of diff-tree specific outputPhilippe Blain via GitGitGadget, May 15, 2026
  3. 2/3 diff-format.adoc: 'git diff-files' prints two lines for unmerged filesPhilippe Blain via GitGitGadget, May 15, 2026
  4. 3/3 diff-format.adoc: mode and hash are 0* for unmerged paths from index onlyPhilippe Blain via GitGitGadget, May 15, 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.