Junio C Hamano <gitster@xxxxxxxxx> writes: > I used "cat -e" to make it easier to see that "c file " not only has SP in > it but it has trailing space. Let's try the result. > > $ git diff --cached | cat -e > diff --git "a/a\001file" "b/a\001file"$ > new file mode 100644$ > index 0000000..e69de29$ > diff --git a/b file b/b file$ > new file mode 100644$ > index 0000000..e69de29$ > diff --git a/c file b/c file $ > new file mode 100644$ > index 0000000..e69de29$ > $ git diff --cached >P.diff > > And as you described, "b file" and "c file " are not quoted and they do > not have ---/+++ lines. > > But observe this: > ... > We are now back in the state without any of these files, and P.diff records > a patch to recreate these three files, one with quoting and the other two > without. > > $ git apply --index P.diff > $ git ls-files -s | cat -e > 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 "a\001file"$ > 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 b file$ > 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 c file $ > 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 hello$ > > This demonstrates that The claim below is false, doesn't it? > > > Not parseable: > > diff --git a/baz b/baz > > new file mode 100644 > > index 0000000..e69de29 > > Both "b file" and "c file " are parsed by "git apply" perfectly fine. Having said all that, I don't think we would mind a change to treat a pathname with trailing SP a bit specially (iow, quoting "c file " in the above failed attempt to reproduce the issue). A pathname with SP in it is an eyesore but is a fact of life outside of sane world, but a quoted pathname is an even worse eyesore. A pathname with trailing SP would be much less common and is more likely to be corrupted by MUA and cut & paste; with quoting we can protect them a bit better. -- 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