From: René Scharfe Date: Mon, 30 Apr 2012 22:11:45 GMT Subject: Re: [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only 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: > Nguyễn Thái Ngọc Duy 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é