We create GIT-CFLAGS and related files by echoing into a shell redirection. It's possible for an error to cause the file to end up empty or truncated. In theory, this could cause us to later make an incorrect comparison of the file contents to a Makefile variable, and avoid rebuilding some dependencies. In practice, this is very unlikely to happen, as the followup run would have to have changed the variable to match the truncation exactly. However, it is good hygiene to use our usual tempfile + mv trick to make sure that the file is created atomically. Signed-off-by: Jeff King <peff@xxxxxxxx> --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 50bf252..b06d5ec 100644 --- a/Makefile +++ b/Makefile @@ -1571,7 +1571,8 @@ GIT-$1: FORCE @VALUE='$$(subst ','\'',$3)'; \ if test x"$$$$VALUE" != x"`cat $$@ 2>/dev/null`"; then \ echo >&2 " * new $2"; \ - echo "$$$$VALUE" >$$@; \ + echo "$$$$VALUE" >$$@+ && \ + mv $$@+ $$@; \ fi endef -- 1.8.5.2.500.g8060133 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html