From: Junio C Hamano Date: Mon, 15 Sep 2008 20:54:42 GMT Subject: Re: Diff-tree does not work for initial commit Message-ID: <7vprn59lkd.fsf@gitster.siamese.dyndns.org> In-Reply-To: <48CECA42.1050209@drmicha.warpmail.net> Michael J Gruber writes: > Anatol Pomozov venit, vidit, dixit 15.09.2008 22:01: >> Hi, It looks like I found a bug in git. >> >> The problem: In my script I need to know what files were modified by >> given commit. I use diff-tree for it. Although it works for most >> cases, for initial commit it does not. Here is a sequence of actions. >> >> >> anatol:~ $ mkdir mkdir initialcommitissue anatol:~ $ cd >> initialcommitissue/ anatol:initialcommitissue $ git init Initialized >> empty Git repository in /home/anatol/initialcommitissue/.git/ >> anatol:initialcommitissue $ echo "First commit" > 1.txt >> anatol:initialcommitissue $ git add 1.txt anatol:initialcommitissue $ >> git commit -m "First commit" Created initial commit 31ccc6a: First >> commit 1 files changed, 1 insertions(+), 0 deletions(-) create mode >> 100644 1.txt anatol:initialcommitissue $ git diff-tree HEAD <<<<< >> PROBLEM IS HERE > > From the man page: > > Compares the content and mode of the blobs found via two tree > objects. > > If there is only one given, the commit is compared > with its parents (see --stdin below). > > Note that git-diff-tree can use the tree encapsulated in a commit > object. > > The initial commit has no parent, so diff-tree does not know which tree > to compare to. --root?