Re: [PATCH v10 0/4] cat-file: add support for "-allow-unknown-type"

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

 



On Sun, May 3, 2015 at 8:14 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Junio C Hamano <gitster@xxxxxxxxx> writes:
>
>> Hmmmm... you do not seem to pass your own test.
>>
>> expecting success:
>>         echo $bogus_type >expect &&
>>         git cat-file -t --allow-unknown-type $bogus_sha1 >actual &&
>>         test_cmp expect actual
>>
>> --- expect      2015-05-04 00:09:24.327335512 +0000
>> +++ actual      2015-05-04 00:09:24.335335473 +0000
>> @@ -1 +1 @@
>> -abcdefghijklmnopqrstuvwxyz1234679
>> +abcdefghijklmnopqrstuvwxyz123467abcdefghijklmnopqrstuvwxyz1234679
>> not ok 86 - Type of broken object is correct when type is large
>
> Perhaps it would have a better chance of being correct with this
> squashed in.

Interestingly, neither test passes on Mac OS X even with this fixup.
In fact, the git-hash-object invocation which computes/retrieves
'bogus_sha1' with the extra long bogus type crashes with SIGABRT in
write_sha1_file_prepare(). Still investigating.

> -- >8 --
> [PATCH] fixup! sha1_file: support reading from a loose object of unknown type
>
> ---
>  sha1_file.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/sha1_file.c b/sha1_file.c
> index f65bf90..e010e7c 100644
> --- a/sha1_file.c
> +++ b/sha1_file.c
> @@ -1568,7 +1568,6 @@ static int unpack_sha1_header_to_strbuf(git_zstream *stream, unsigned char *map,
>                                         unsigned long mapsize, void *buffer,
>                                         unsigned long bufsiz, struct strbuf *header)
>  {
> -       unsigned char *cp;
>         int status;
>
>         status = unpack_sha1_header(stream, map, mapsize, buffer, bufsiz);
> @@ -1579,7 +1578,6 @@ static int unpack_sha1_header_to_strbuf(git_zstream *stream, unsigned char *map,
>         if (memchr(buffer, '\0', stream->next_out - (unsigned char *)buffer))
>                 return 0;
>
> -       strbuf_add(header, buffer, stream->next_out - (unsigned char *)buffer);
>         do {
>                 status = git_inflate(stream, 0);
>                 strbuf_add(header, buffer, stream->next_out - (unsigned char *)buffer);
> --
> 2.4.0-282-g4432dd4
--
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]