From: Dana How Date: Fri, 06 Apr 2007 18:17:21 GMT Subject: Re: [PATCH 08/13] prevent try_delta from using objects not in pack Message-ID: <56b7f5510704061117q2a833904g130246c164dd8e3f@mail.gmail.com> In-Reply-To: On 4/6/07, Nicolas Pitre wrote: > On Thu, 5 Apr 2007, Dana How wrote: > > Currently we have get_object_list -> traverse_commit_list -> > > show_{commit,object} -> add_object_entry , which is all > > called way before get_object_details -> check_object -> sha1_object_info . > > Can I safely move the sha1_object_info calll earlier into > > add_object_entry so I will know the size for pruning? > > I think so, yes. And actually this call to sha1_object_info() has been > bothering me for a while. > > There are currently two ways to get the list of objects to pack: one is > from stdin where objects are listed with their SHA1's, the other one > uses the internal revision walking code. In the later case we _already_ > have the information that sha1_object_info() later provides making it > rather wasteful by forcing a second object header parsing. Perhaps I'll add the early call (or actually, re-use the info if I can find it), and change the second call to only happen if the size is zero, since that's how it starts out in the current add_object_entry. > However... aren't you more interested in the _compressed_ blob size than > its raw size? Yes! So I am leaning towards disposing of --blob-limit anyway, which was in part a poor response to a bug in --pack-limit. Please see the other email I sent out so far today. Thanks, -- Dana L. How danahow@gmail.com +1 650 804 5991 cell