From: Junio C Hamano Date: Mon, 24 Aug 2015 18:15:55 GMT Subject: Re: [PATCH 0/5] "am" state file fix with write_file() clean-up Message-ID: In-Reply-To: <20150824174142.GA4794@sigill.intra.peff.net> Jeff King writes: > On Mon, Aug 24, 2015 at 10:09:41AM -0700, Junio C Hamano wrote: > >> So here is an solution based on the "write_file() is primarily to >> produce text, so it should be able to correct the incomplete line >> at the end" approach. > > This all looks good to me. The topics-in-flight compatibility stuff in > patches 3 and 5 is neatly done. Usually I would just cheat and change > the order of arguments to make the compiler notice such problems, but > that's hard to do here because of the varargs (you cannot just bump > "flags" to the end). Actually, I think my compatibility stuff is worthless. It would not catch new callers that wants to only probe and do their own error handling by passing 0 (and besides, assert() is a shoddy way to do this---there is no guarantee that tests will trigger all the codepaths in the first place). We should deprecate and remove write_file() by renaming the one with the updated semantics to something else, possibly with a backward compatiblity thin wrapper around it that is called write_file(), or without it to force a link-time error. Thanks for a dose of sanity.