git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/3] format-patch --no-clobber

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 22, 2019, 20:11 UTC
Message-ID
<20190222201111.98196-1-gitster@pobox.com>

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@genre.crustytoothpaste.net>
-- 
2.21.0-rc2
Next: Junio C Hamano
Message 1 of 9 in “format-patch --no-clobber”
  1. 0/3 format-patch --no-clobberJunio C Hamano, Feb 22, 2019
  2. 1/3 builtin/log: downcase the beginning of error messagesJunio C Hamano, Feb 22, 2019
  3. Eric SunshineFeb 22, 2019
  4. Junio C HamanoFeb 22, 2019
  5. 2/3 format-patch: notice failure to open cover letter for writingJunio C Hamano, Feb 22, 2019
  6. 3/3 format-patch: --no-clobber refrains from overwriting output filesJunio C Hamano, Feb 22, 2019
  7. Eric SunshineFeb 22, 2019
  8. Jeff KingFeb 23, 2019
  9. Ntentos StavrosMar 12, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.