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

[PATCH 0/2] (experimental) diff --quote-path-with-sp

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 15, 2021, 22:33 UTC
Message-ID
<20210915223316.1653443-1-gitster@pobox.com>

Long time ago, we had a discussion with GNU patch/diff maintainer and agreed that pathnames with certain "difficult" bytes needs to be quoted to ensure the resulting patch is machine parseable in an unambiguous way [*1*]. Recently, we saw a report that found that GNU patch is unhappy with our diff output for a path with SP in it [*2*].

With this experimental option, the beginning part of the patch output will have pathnames with SP in them enclosed inside a pair of double quotes, like so:

	diff --git "a/A Name" "b/A Name"
	--- "a/A Name"
	+++ "b/A Name"

We have always done this enclosing inside dq when the pathname had an even more difficult byte (like LF, double quotes, and HT), so we know Git tools can handle such a patch output just fine already.

 *1* https://lore.kernel.org/git/87ek6s0w34.fsf@penguin.cs.ucla.edu/
 *2* https://lore.kernel.org/git/YR9Iaj%2FFqAyCMade@tilde.club/
Junio C Hamano (2):
  diff: simplify quote_two()
  diff: --quote-path-with-sp
 Documentation/diff-options.txt |  5 +++++
 diff.c                         | 26 ++++++++++----------------
 diff.h                         |  1 +
 quote.c                        | 23 ++++++++++++++++++-----
 quote.h                        |  3 ++-
 t/t3902-quoted.sh              | 24 +++++++++++++++++++++++-
 6 files changed, 59 insertions(+), 23 deletions(-)
-- 
2.33.0-649-gd4f4107c2b
Next: Junio C Hamano
Message 1 of 7 in “(experimental) diff --quote-path-with-sp”
  1. 0/2 (experimental) diff --quote-path-with-spJunio C Hamano, Sep 15, 2021
  2. 2/2 diff: --quote-path-with-spJunio C Hamano, Sep 15, 2021
  3. Ævar Arnfjörð BjarmasonSep 16, 2021
  4. Junio C HamanoSep 16, 2021
  5. 1/2 diff: simplify quote_two()Junio C Hamano, Sep 15, 2021
  6. Gwyneth MorganSep 16, 2021
  7. Junio C HamanoSep 16, 2021

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.