Re: [PATCH 0/5] "am" state file fix with write_file() clean-up
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 24, 2015, 18:15 UTC
- Message-ID
- <xmqqlhd04ko4.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20150824174142.GA4794@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 11 quoted lines
> 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.