Re: [PATCH 08/13] prevent try_delta from using objects not in pack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/5/07, Nicolas Pitre <nico@xxxxxxx> wrote:
On Thu, 5 Apr 2007, Dana How wrote:
> On 4/5/07, Nicolas Pitre <nico@xxxxxxx> wrote:
> > What is the purpose of this patch?
> >
> > The try_delta() function is called with all objects before any object is
> > written to a pack to find out how to deltify objects upfront.
>
> I set no_write for 2 different reasons in the patchset.
> (1) When the blob is too big (--blob-limit) and will never be written.
> (2) When the blob has been written to a previous, finished pack.
>
> You're correct that this patch will never see condition (2).

Given that I proposed another way for big blobs in my previous email,
then (1) should not be needed either.

> I think my repository statistics are a little unusual.
> Perhaps I'm getting ahead of myself here,
> but I also wanted to experiment with writing all blobs to one set
> of packs,  and all trees, commits, and tags to another set
> (but probably just one small pack).
> I would use no_write for that and it would matter here.

Again you should simply _not_ add objects you don't want to the list
instead of adding them and marking them as unwanted.

Agreed, the marking just required less code change at the time.
I would like not to have to add nr_skipped and nr_actual.

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?

In your other email you mention memory consumption due to object_entry.
This structure could benefit somewhat from some attention beyond removing
my no_write.(e.g. int->short for .depth and .delta_limit; int->enum
for .preferred_base).  Perhaps for later.

Thanks,
--
Dana L. How  danahow@xxxxxxxxx  +1 650 804 5991 cell
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]