Subject: Re: [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only

From: René Scharfe <[email-masked]>
Date: Tue, 01 May 2012 00:11:45 +0200

Am 30.04.2012 20:15, schrieb Junio C Hamano:
> Nguyễn Thái Ngọc Duy<[email-masked]>  writes:
>
>> Before this patch write_tar_entry() can:
>>
>>   - write global header
>>     by write_global_extended_header() calling write_tar_entry with
>>     with both sha1 and path == NULL
>>
>>   - write extended header for symlinks, by write_tar_entry() calling
>>     itself with sha1 != NULL and path == NULL
>>
>>   - write a normal blob. In this case both sha1 and path are valid.
>>
>> After this patch, the first two call sites are modified to write the
>> header without calling write_tar_entry(). The function is now for
>> writing blobs only.
>
> Nice.
>
> I am kind of surprised how hacky the original code that switched on !sha1
> and !path was, especially given that it came from René at ae64bbc
> (tar-tree: Introduce write_entry(), 2006-03-25) --- it even claims that
> these are "reasonable" magic values ;-).

Yeah, and there are still opportunities for cleanup.  Can't say what I 
was thinking back then, but a few cleanup attempts since then invariably 
made the code even more ugly, so I never sent them.

René