Re: [PATCH v2 4/5] Makefile: add the ".DELETE_ON_ERROR" flag
flat view
From: Johannes Schindelin <hidden>
Date: 2021-03-31 22:29:55
Hi, On Wed, 31 Mar 2021, Junio C Hamano wrote:
Jeff King [off-list ref] writes:quoted
I don't know how paranoid we want to be about this, especially the latter. My general inclination is to prefer "commit" systems as more robust, but it is just a Makefile.;-) As an old timer, I've written "gen >$@+ && mv $@+ $@" all the time myself, but it is ugly and felt a bit too conservative. I do not think it is wise to overnight remove all the existing "generate in temporary, move to the final" patterns and delegate $(MAKE) to take care of failed generator with this mechanism, but I actually would feel it probably gives us a cleaner Makefile in the longer term. At least "bugs in $(MAKE)" won't be our sole problem (i.e. all other projects that rely on the feature would share the incentives to see them fixed).
Another point in favor of removing that hack is this: `+` is not a valid character in Windows' filenames. It just so _happens_ that Cygwin (and therefore the MSYS2 Bash/`make` we use to compile Git for Windows) _pretends_ that it is a valid filename character, but regular Win32 programs cannot read/write such files, and it would preclude Git from being compiled with more native versions of a POSIX shell or `make`. Ciao, Dscho