Re: [PATCH] send-pack: use buffered I/O to talk to pack-objects
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Jun 9, 2016, 14:34 UTC
- Message-ID
- <57597E93.9040808@ramsayjones.plus.com>
- In-Reply-To
- <vpqwplypnpr.fsf@anie.imag.fr>
On 09/06/16 13:10, Matthieu Moy wrote:
Show 28 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> --- a/send-pack.c
>> +++ b/send-pack.c
>> @@ -36,18 +36,15 @@ int option_parse_push_signed(const struct option *opt,
>> die("bad %s argument: %s", opt->long_name, arg);
>> }
>>
>> -static int feed_object(const unsigned char *sha1, int fd, int negative)
>> +static void feed_object(const unsigned char *sha1, FILE *fh, int negative)
>> {
>> - char buf[42];
>> -
>> if (negative && !has_sha1_file(sha1))
>> - return 1;
>> + return;
> [...]
>> @@ -97,21 +95,22 @@ static int pack_objects(int fd, struct ref *refs, struct sha1_array *extra, stru
> [...]
>> for (i = 0; i < extra->nr; i++)
>> - if (!feed_object(extra->sha1[i], po.in, 1))
>> - break;
>> + feed_object(extra->sha1[i], po_in, 1);
>
> I may have missed the obvious, but doesn't this change the behavior when
> "negative && !has_sha1_file(sha1)" happens? I understand that you don't
> need write_or_whine anymore, but don't understand how you get rid of the
> "return 1" here.Just FYI, this patch removes the last use of write_or_whine() - should it be removed?
ATB, Ramsay Jones