Re: [PATCH] Do not send "want" lines for complete objects
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Oct 21, 2005, 15:44 UTC
- Message-ID
- <Pine.LNX.4.64.0510211139590.25300@iabervon.org>
- In-Reply-To
- <Pine.LNX.4.63.0510210114370.10503@wbgn013.biozentrum.uni-wuerzburg.de>
On Fri, 21 Oct 2005, Johannes Schindelin wrote:
Show 21 quoted lines
> Hi, > > On Thu, 20 Oct 2005, Daniel Barkalow wrote: > > > On Thu, 20 Oct 2005, Johannes Schindelin wrote: > > > > > Hi, > > > > > > > > + ((o = parse_object(remote)) != NULL) && > > > > > + (o->flags & COMPLETE) && > > > > > > I just realized that parse_object() always reads the file, then does a > > > lookup (which makes the above code work), and then parses the file. It > > > always does all of these steps, even if the object was already parsed. Any > > > reason for this? > > > > I'm lazy and haven't sent in a patch to clean that up. There's no reason > > it couldn't check whether the value it gets is already parsed. > > Actually, you don't have to... Junio already replaced parse_object() by > lookup_object() in this case.
It often gets used in cases where it isn't completely obvious that the object has already been parsed; this is the second place that it's been replaced.
Show 6 quoted lines
> I did not use it originally, because lines 24-25 of commit.h say > > /** Internal only **/ > struct object *lookup_object(const unsigned char *sha1); > > Is this obsolete?
I'd intended it to be internal, for use by things like lookup_tree(), but I suppose that it could be used more generally, if it got a comment that says that, unlike lookup_tree() and such, it returns NULL if the object has not already been read (because it doesn't know how to create it).
-Daniel *This .sig left intentionally blank*