add --edit: truncate the patch file

If there is already a .git/ADD_EDIT.patch file, we fail to truncate it properly, which could result in very funny errors. Of course, this file should not be left lying around. But at least in one case, there was a stale copy, larger than the current diff. So the result was a corrupt diff. Let's just truncate the file when we write it and not worry about it too much. Reported by J Wyman. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Jan 15, 2019 at 07:42 UTC fa6f225e0141ec0df1e131e894a3a7d7dea168f5
1 file changed +1 -1
builtin/add.c
+1 -1
@@ -239,7 +239,7 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
239 rev.diffopt.output_format = DIFF_FORMAT_PATCH;
240 rev.diffopt.use_color = 0;
241 rev.diffopt.flags.ignore_dirty_submodules = 1;
242 - out = open(file, O_CREAT | O_WRONLY, 0666);
242 + out = open(file, O_CREAT | O_WRONLY | O_TRUNC, 0666);
243 if (out < 0)
244 die(_("Could not open '%s' for writing."), file);
245 rev.diffopt.file = xfdopen(out, "w");