If you keep an output for an older iteration of the same topic in the same directory around and use "git format-patch" to prepare a newer iteration of the topic, those commits that happen to be at the same position in the series that have not been retitled will get the same filename---and the command opens them for writing without any check. Existing "-o outdir" and "-v number" options are both good ways to avoid such name collisions, and in general helps to give good ways to compare the latest iteration with older iteration(s), but let's see if "--no-clobber" option that forbids overwrting existing files would also help people. I meant to have just a single patch for this, but it ended up to be a three-patch series. - Preliminary clean-up of builtin/log.c updates messages in the file given to die()s and error()s that begin with capital by downcasing them to match majority of the messages in the system. - When we fail to open a patchfile for writing, we immediately stop and report failure, but we weren't careful about the cover letter output, which is fixed by the second patch. - The last one adds an experimental "--no-clobber" option to forbid the command from overwriting existing output files. This is not enabled by default, as suggeted by Brian Carlson in [1], at least for now. Junio C Hamano (3): builtin/log: downcase the beginning of error messages format-patch: notice failure to open cover letter for writing format-patch: --no-clobber refrains from overwriting output files Documentation/git-format-patch.txt | 8 +++- builtin/log.c | 72 +++++++++++++++++++----------- t/t4014-format-patch.sh | 22 +++++++++ 3 files changed, 75 insertions(+), 27 deletions(-) *1* <20190222001145.GD488342@xxxxxxxxxxxxxxxxxxxxxxxxxx> -- 2.21.0-rc2