Re: [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only
- From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
- Date
- Apr 30, 2012, 22:11 UTC
- Message-ID
- <4F9F0E21.3080407@lsrfire.ath.cx>
- In-Reply-To
- <7vr4v5f5n2.fsf@alter.siamese.dyndns.org>
Am 30.04.2012 20:15, schrieb Junio C Hamano:
Show 23 quoted lines
> Nguyễn Thái Ngọc Duy<pclouds@gmail.com> 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é