From: Олег Самойлов Date: Wed, 30 Oct 2019 09:10:21 GMT Subject: Fix and addition to git-diff 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 in the above description, except -in the last two forms that use ".." notations, can be any -. +in the last form, that use the "\..." notation, can be any +. 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 , see "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].