* confusion with git diff-tree output
@ 2009-10-21 17:43 David Roundy
2009-10-21 17:51 ` Jan Krüger
0 siblings, 1 reply; 7+ messages in thread
From: David Roundy @ 2009-10-21 17:43 UTC (permalink / raw)
To: git
Hi all,
I've been struggling with trying to figure out how to make diff-tree
output the actual files changed. Below is the output when I run
diff-tree on a given commit. It reports that the directory is
modified, rather than that a single file within that directory is
modified. I can find out what *file* was modified by running
diff-tree -p --raw, which gives me output similar to what I expected
from a plain old diff-tree. Is there a flag that will make diff-tree
give this information?
As background, what I really want is --name-only, which rarely reports
the files modified, instead reporting the directories as modified, and
I've been struggling to figure out what is going on. The
documentation seems to imply that the --raw diff output will report
modified files, and I haven't found anything indicating when it would
report the directories containing the modified files instead.
Thanks!
David
$ git diff-tree fd99a198222c14cf42fee82087a13467ff4a8205
fd99a198222c14cf42fee82087a13467ff4a8205
:040000 040000 8cdb796ea801da99c34d8f60045d8eb08fbb0e41
66b67ea1763799c0b2ac01f6803177ca870f6544 M Iolaus
$ git diff-tree fd99a198222c14cf42fee82087a13467ff4a8205 -p --raw
fd99a198222c14cf42fee82087a13467ff4a8205
:100644 100644 dab4c531f3f69f08e5dc202ad8b6dfad9e8855fe
0e3f305e641a6440bb478765dfcd089e0420c155 M Iolaus/Lcs2.hs
diff --git a/Iolaus/Lcs2.hs b/Iolaus/Lcs2.hs
index dab4c53..0e3f305 100644
--- a/Iolaus/Lcs2.hs
+++ b/Iolaus/Lcs2.hs
(changes cut)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-21 17:43 confusion with git diff-tree output David Roundy
@ 2009-10-21 17:51 ` Jan Krüger
2009-10-21 22:23 ` David Roundy
0 siblings, 1 reply; 7+ messages in thread
From: Jan Krüger @ 2009-10-21 17:51 UTC (permalink / raw)
To: David Roundy; +Cc: git
> David Roundy <roundyd@physics.oregonstate.edu> wrote:
> I've been struggling with trying to figure out how to make diff-tree
> output the actual files changed. Below is the output when I run
> diff-tree on a given commit. It reports that the directory is
> modified, rather than that a single file within that directory is
> modified.
Tree objects are recursively nested, i.e.
> 66b67ea1763799c0b2ac01f6803177ca870f6544 M Iolaus
is a reference to another tree object... and since a file in that
subtree changed, a new tree object that contains a different file
record is now referenced as "Iolaus".
By default git diff-tree doesn't recurse, but you can use -r for that.
Which is documented, I might add. ;)
Jan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-21 17:51 ` Jan Krüger
@ 2009-10-21 22:23 ` David Roundy
2009-10-21 22:42 ` Jan Krüger
2009-10-23 0:54 ` Jeff King
0 siblings, 2 replies; 7+ messages in thread
From: David Roundy @ 2009-10-21 22:23 UTC (permalink / raw)
To: git
You're right. I figured I must be overlooking something obvious, and
that was it. What surprised me was that -p implies -r, which is not
documented. Since the -p output was recursive, I incorrectly presumed
that this was the default.
David
On Wed, Oct 21, 2009 at 1:51 PM, Jan Krüger <jk@jk.gs> wrote:
> Tree objects are recursively nested, i.e.
>
>> 66b67ea1763799c0b2ac01f6803177ca870f6544 M Iolaus
>
> is a reference to another tree object... and since a file in that
> subtree changed, a new tree object that contains a different file
> record is now referenced as "Iolaus".
>
> By default git diff-tree doesn't recurse, but you can use -r for that.
> Which is documented, I might add. ;)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-21 22:23 ` David Roundy
@ 2009-10-21 22:42 ` Jan Krüger
2009-10-23 0:54 ` Jeff King
1 sibling, 0 replies; 7+ messages in thread
From: Jan Krüger @ 2009-10-21 22:42 UTC (permalink / raw)
To: David Roundy; +Cc: git
> David Roundy <roundyd@physics.oregonstate.edu> wrote:
> You're right. I figured I must be overlooking something obvious, and
> that was it. What surprised me was that -p implies -r, which is not
> documented. Since the -p output was recursive, I incorrectly presumed
> that this was the default.
I suppose that's because you can't really display the diff for a
directory in any meaningful way other than recursing.
Jan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-21 22:23 ` David Roundy
2009-10-21 22:42 ` Jan Krüger
@ 2009-10-23 0:54 ` Jeff King
2009-10-24 6:36 ` Junio C Hamano
1 sibling, 1 reply; 7+ messages in thread
From: Jeff King @ 2009-10-23 0:54 UTC (permalink / raw)
To: David Roundy; +Cc: git
On Wed, Oct 21, 2009 at 06:23:08PM -0400, David Roundy wrote:
> You're right. I figured I must be overlooking something obvious, and
> that was it. What surprised me was that -p implies -r, which is not
> documented. Since the -p output was recursive, I incorrectly presumed
> that this was the default.
It's due to hysterical raisins:
http://article.gmane.org/gmane.comp.version-control.git/54078
-Peff
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-23 0:54 ` Jeff King
@ 2009-10-24 6:36 ` Junio C Hamano
2009-10-24 9:51 ` Jeff King
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2009-10-24 6:36 UTC (permalink / raw)
To: Jeff King; +Cc: David Roundy, git
Jeff King <peff@peff.net> writes:
> On Wed, Oct 21, 2009 at 06:23:08PM -0400, David Roundy wrote:
>
>> You're right. I figured I must be overlooking something obvious, and
>> that was it. What surprised me was that -p implies -r, which is not
>> documented. Since the -p output was recursive, I incorrectly presumed
>> that this was the default.
>
> It's due to hysterical raisins:
>
> http://article.gmane.org/gmane.comp.version-control.git/54078
Just to make sure, the Porcelain "diff" does recurse even with --raw
and "diff-tree" doesn't for historical reasons, right?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: confusion with git diff-tree output
2009-10-24 6:36 ` Junio C Hamano
@ 2009-10-24 9:51 ` Jeff King
0 siblings, 0 replies; 7+ messages in thread
From: Jeff King @ 2009-10-24 9:51 UTC (permalink / raw)
To: Junio C Hamano; +Cc: David Roundy, git
On Fri, Oct 23, 2009 at 11:36:59PM -0700, Junio C Hamano wrote:
> >> You're right. I figured I must be overlooking something obvious, and
> >> that was it. What surprised me was that -p implies -r, which is not
> >> documented. Since the -p output was recursive, I incorrectly presumed
> >> that this was the default.
> >
> > It's due to hysterical raisins:
> >
> > http://article.gmane.org/gmane.comp.version-control.git/54078
>
> Just to make sure, the Porcelain "diff" does recurse even with --raw
> and "diff-tree" doesn't for historical reasons, right?
Yes, that's right (and yes, I just checked it to be double sure).
-Peff
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-10-24 9:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-21 17:43 confusion with git diff-tree output David Roundy
2009-10-21 17:51 ` Jan Krüger
2009-10-21 22:23 ` David Roundy
2009-10-21 22:42 ` Jan Krüger
2009-10-23 0:54 ` Jeff King
2009-10-24 6:36 ` Junio C Hamano
2009-10-24 9:51 ` Jeff King
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 NNTP newsgroup(s).