From: Johannes Schindelin Date: Mon, 12 Nov 2007 20:21:05 GMT Subject: Re: [PATCH] Fix rev-list when showing objects involving submodules Message-ID: In-Reply-To: <4738AF60.90207@vilain.net> Hi, On Tue, 13 Nov 2007, Sam Vilain wrote: > Johannes Schindelin wrote: > > The function mark_tree_uninteresting() assumed that the tree entries > > are blob when they are not trees. This is not so. Since we do > > not traverse into submodules (yet), the gitlinks should be ignored. > > > > diff --git a/revision.c b/revision.c > > index 931f978..81b5a93 100644 > > --- a/revision.c > > +++ b/revision.c > > @@ -69,7 +69,7 @@ void mark_tree_uninteresting(struct tree *tree) > > while (tree_entry(&desc, &entry)) { > > if (S_ISDIR(entry.mode)) > > mark_tree_uninteresting(lookup_tree(entry.sha1)); > > - else > > + else if (!S_ISGITLINK(entry.mode)) > > mark_blob_uninteresting(lookup_blob(entry.sha1)); > > } > > > > > > Wouldn't it be better to check for what it is, rather than what it is not? You mean something like else if (S_ISREG(entry.mod) || S_ISLNK(entry.mod)) Hmm? Sure, I have no preference there. Ciao, Dscho