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

Fix and addition to git-diff

From
Олег Самойлов <splarv@ya.ru>
Date
Oct 30, 2019, 09:10 UTC
Message-ID
<232BC77E-F22E-469A-8839-6A1553A75B55@ya.ru>
Hi all.
This is a small patch with fix and addition to the man git-diff. This fix is obvious mistyping in man, there must be "..." instead of "..".
And I added an example about how this can be used. The reason is:

First, I don't know another reason to use a tree-ish with git diff. Second, the diff with empty tree is a real problem on what some people looking for solution (for various reasons):

https://stackoverflow.com/questions/14564034/creating-a-git-diff-from-nothing/54946189#54946189 https://stackoverflow.com/questions/9765453/is-gits-semi-secret-empty-tree-object-reliable-and-why-is-there-not-a-symbolic/54945479#54945479

And the solutions are not simple nor obvious. So I think it will be helpful to mention it.
--- a/Documentation/git-diff.txt
+++ b/Documentation/git-diff.txt
@@ -77,8 +77,16 @@ two blob objects, or changes between two files on disk.

 Just in case you are doing something exotic, it should be
 noted that all of the <commit> in the above description, except
-in the last two forms that use ".." notations, can be any
-<tree>.
+in the last form, that use the "\..." notation, can be any
+<tree>. For instance, if you want to make diffs against an empty
+tree, you can create a tag pointing to the empty tree:
+
+'git tag' empty $('git hash-object' -t tree /dev/null)
+
+And use it for the 'git diff', for instance, to check a working tree
+for whitespaces:
+
+'git diff' --check empty

 For a more complete list of ways to spell <commit>, see
 "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
Message 1 of 1 in “Fix and addition to git-diff”
  1. Олег СамойловOct 30, 2019

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.