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

RE: Any way to get complete diff up to a tag?

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
May 6, 2010, 17:08 UTC
Message-ID
<alpine.LFD.2.00.1005060955000.901@i5.linux-foundation.org>
In-Reply-To
<A612847CFE53224C91B23E3A5B48BAC74482E50F03@xmail3.se.axis.com>
On Thu, 6 May 2010, Peter Kjellerstedt wrote:
Show 6 quoted lines
> 
> Since the 4b825dc642cb6eb9a060e54bf8d69288fbee4904 SHA1 is somewhat
> cumbersome to remember, wouldn't it be an idea to give it some kind 
> of alias or mnemonic? E.g., something like @~ (or some other mix of 
> odd characters which do not clash with all the other similar 
> constructs already used for references).

Well, you don't strictly speaking have to "remember" it, you can always just re-generate it. The most straightforward way to do that is probably

	git hash-object -t tree --stdin < /dev/null

although I admit that maybe we could have some syntax for "git diff" that would do the "diff against empty tree" automatically. It does seem to be conceptually a reasonable thing to do.

For example, right now if you give "git diff" a single SHA1, it will work against the working tree. Except if you add "--cached", to say that you want the diff against the index. I don't think it would be in any way _wrong_ to make "--root" mean that you want it against an empty tree.

[ We already accept "--root", but it has no meaning for "git diff" with a 
  single SHA1. It matters for showing the root commit for 'git-diff-tree'.
  And means something totally different for git-format-patch ]
So we certainly _could_ do something like
	git diff --root <treeish>

and make it do what you want. That said, the "empty tree" thing works for all versions of git (well, some older versions of git need the actual object, but you could always use "-w" on that git-hash-object command line, and then it really should work for every git version).

			Linus
Previous: Björn SteinbrinkNext: Greg Troxel
Message 9 of 13 in “Any way to get complete diff up to a tag?”
  1. Peter KjellerstedtMay 6, 2010
  2. Bert WesargMay 6, 2010
  3. Björn SteinbrinkMay 6, 2010
  4. Peter KjellerstedtMay 6, 2010
  5. Santi BéjarMay 6, 2010
  6. Johannes SixtMay 6, 2010
  7. Peter KjellerstedtMay 6, 2010
  8. Björn SteinbrinkMay 6, 2010
  9. Linus TorvaldsMay 6, 2010
  10. Greg TroxelMay 6, 2010
  11. Peter KjellerstedtMay 7, 2010
  12. KnittlMay 6, 2010
  13. Peter KjellerstedtMay 7, 2010

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.