* git diff-tree output inconsistency?
@ 2011-04-07 13:59 Arjen Laarhoven
2011-04-07 19:08 ` Jeff King
0 siblings, 1 reply; 2+ messages in thread
From: Arjen Laarhoven @ 2011-04-07 13:59 UTC (permalink / raw)
To: git
Hi all,
I was fiddling with the git-diff-tree command to retrieve a list of
files which have in a commit:
$ git diff-tree --name-only HEAD
According to the documentation, the output starts with the SHA-1 of the
tree-ish given, after which the list of changed files follows. This is
the case when just one commit-id is given.
However, when given 2 tree-ish objects, the separate line with the SHA-1
is not shown.
I browsed through the code and the history for diff-tree.c, but couldn't
find an explanation for the inconsistency. The documentation for the
--no-commit-id confuses me a bit more, as it states that the commit id
is shown 'when applicable'. Unfortunately, it fails to explain when
exactly that is :-)
Have I found a documentation bug/shortcoming, is it a code bug or am I
misunderstanding something else?
Arjen
--
Arjen Laarhoven
The presence of those seeking the truth is infinitely to be preferred to
those who think they've found it.
-- Terry Pratchett, "Monstrous Regiment"
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: git diff-tree output inconsistency?
2011-04-07 13:59 git diff-tree output inconsistency? Arjen Laarhoven
@ 2011-04-07 19:08 ` Jeff King
0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2011-04-07 19:08 UTC (permalink / raw)
To: Arjen Laarhoven; +Cc: git
On Thu, Apr 07, 2011 at 03:59:38PM +0200, Arjen Laarhoven wrote:
> I was fiddling with the git-diff-tree command to retrieve a list of
> files which have in a commit:
>
> $ git diff-tree --name-only HEAD
>
> According to the documentation, the output starts with the SHA-1 of the
> tree-ish given, after which the list of changed files follows. This is
> the case when just one commit-id is given.
>
> However, when given 2 tree-ish objects, the separate line with the SHA-1
> is not shown.
>
> I browsed through the code and the history for diff-tree.c, but couldn't
> find an explanation for the inconsistency. The documentation for the
> --no-commit-id confuses me a bit more, as it states that the commit id
> is shown 'when applicable'. Unfortunately, it fails to explain when
> exactly that is :-)
>
> Have I found a documentation bug/shortcoming, is it a code bug or am I
> misunderstanding something else?
I think it's a documentation bug. The sha1 is shown only when a single
tree-ish is given (either on the command line, or via --stdin). This is
a historical behavior, as one of the original uses of diff-tree was
to implement log as:
git rev-list | git diff-tree --stdin
You can even do "git diff-tree --stdin --pretty=medium" to get the full
log-ish output. These days, though, log does everything in one process.
But I don't think we make that clear anywhere in the diff-tree manpage.
-Peff
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-04-07 19:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-07 13:59 git diff-tree output inconsistency? Arjen Laarhoven
2011-04-07 19:08 ` Jeff King
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).