git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/8] fetch.c: Remove useless lookup_object_type() call in process()

From
Sergey Vlasov <vsu@altlinux.ru>
Date
Sep 22, 2005, 08:50 UTC
Message-ID
<20050922085009.GC20944@master.mivlgu.local>
In-Reply-To
<7v3bnyurw6.fsf@assigned-by-dhcp.cox.net>
On Wed, Sep 21, 2005 at 12:45:13PM -0700, Junio C Hamano wrote:
Show 10 quoted lines
> Sergey Vlasov <vsu@altlinux.ru> writes:
> 
> > In all places where process() is called except the one in pull() (which
> > is executed only once) the pointer to the object is already available,
> > so pass it as the argument to process() instead of sha1 and avoid an
> > unneeded call to lookup_object_type().
> 
> Agreed, except we probably would want to pass the expected type
> to process() so that we can make sure the object is of that type,
> perhaps?

This is not needed - all parse_*_buffer() functions, which fill in pointers to referenced objects, specify required types themselves by using lookup_commit(), lookup_tree(), etc.; even parse_tag_buffer() uses lookup_object_type().

The only way to get a "struct object" with an unspecified type is by calling lookup_unknown_object() (or lookup_object_type() with NULL type) - grep shows than nothing in GIT does this, except the pull() function in fetch.c (which obviously does not know type of the object to be fetched in advance).

Previous: Junio C HamanoNext: Sergey Vlasov
Message 4 of 12 in “fetch.c optimizations”
  1. 0/8 fetch.c optimizationsSergey Vlasov, Sep 21, 2005
  2. 1/8 fetch.c: Remove useless lookup_object_type() call in process()Sergey Vlasov, Sep 21, 2005
  3. Junio C HamanoSep 21, 2005
  4. Sergey VlasovSep 22, 2005
  5. 2/8 fetch.c: Make process() look at each object only onceSergey Vlasov, Sep 21, 2005
  6. 3/8 fetch.c: Remove redundant SCANNED flagSergey Vlasov, Sep 21, 2005
  7. 4/8 fetch.c: Remove redundant TO_FETCH flagSergey Vlasov, Sep 21, 2005
  8. 5/8 fetch.c: Remove some duplicated code in process()Sergey Vlasov, Sep 21, 2005
  9. 6/8 fetch.c: Remove redundant test of TO_SCAN in process()Sergey Vlasov, Sep 21, 2005
  10. 7/8 fetch.c: Clean up object flag definitionsSergey Vlasov, Sep 21, 2005
  11. 8/8 fetch.c: Remove call to parse_object() from process()Sergey Vlasov, Sep 21, 2005
  12. Daniel BarkalowSep 21, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.