From: Sergey Vlasov <vsu@altlinux.ru>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/8] fetch.c: Remove useless lookup_object_type() call in process()
Date: Thu, 22 Sep 2005 12:50:09 +0400 [thread overview]
Message-ID: <20050922085009.GC20944@master.mivlgu.local> (raw)
In-Reply-To: <7v3bnyurw6.fsf@assigned-by-dhcp.cox.net>
[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]
On Wed, Sep 21, 2005 at 12:45:13PM -0700, Junio C Hamano wrote:
> 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).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-09-22 8:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-21 16:18 [PATCH 0/8] fetch.c optimizations Sergey Vlasov
2005-09-21 16:18 ` [PATCH 1/8] fetch.c: Remove useless lookup_object_type() call in process() Sergey Vlasov
2005-09-21 19:45 ` Junio C Hamano
2005-09-22 8:50 ` Sergey Vlasov [this message]
2005-09-21 16:18 ` [PATCH 2/8] fetch.c: Make process() look at each object only once Sergey Vlasov
2005-09-21 16:18 ` [PATCH 3/8] fetch.c: Remove redundant SCANNED flag Sergey Vlasov
2005-09-21 16:19 ` [PATCH 4/8] fetch.c: Remove redundant TO_FETCH flag Sergey Vlasov
2005-09-21 16:19 ` [PATCH 5/8] fetch.c: Remove some duplicated code in process() Sergey Vlasov
2005-09-21 16:19 ` [PATCH 6/8] fetch.c: Remove redundant test of TO_SCAN " Sergey Vlasov
2005-09-21 16:19 ` [PATCH 7/8] fetch.c: Clean up object flag definitions Sergey Vlasov
2005-09-21 16:19 ` [PATCH 8/8] fetch.c: Remove call to parse_object() from process() Sergey Vlasov
2005-09-21 21:03 ` [PATCH 0/8] fetch.c optimizations Daniel Barkalow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050922085009.GC20944@master.mivlgu.local \
--to=vsu@altlinux.ru \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox