Fredrik Gustafsson wrote:

> I've looked into this a bit.

Thanks for investigating.

> Why don't we always print names quoted? IMHO the choose of line
> termination should not do anything else than alter the line termination.
> However, an other solution would be to use git ls-files -z in
> and then rewrite the perl-code to handle \0 instead
> of \n.

The whole point of "-z" is that by using a terminator that is guaranteed
not to appear in filenames, it avoids the need to quote filenames.
Otherwise at least \n would need to be quoted.

How about something like this patch?

-- >8 --
Subject: ls-files doc: clarify purpose of "-z" option

The purpose of the "-z" option is to avoid quoting issues by using a
delimiter that implies a binary-clean parser and cannot appear in
filenames, and in that spirit, "-z" turns off C-style quoting.  But
without looking carefully through the entire manpage, it is too easy
to miss that.

Reported-by: Fredrik Gustafsson <>
Signed-off-by: Jonathan Nieder <>
 Documentation/git-ls-files.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index c0856a6e..753c223f 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -75,7 +75,9 @@ OPTIONS
-       \0 line termination on output.
+       Terminate lines with NUL instead of LF.
+       This avoids the need to quote filenames; see the Output section
+       below for details.
 -x <pattern>::

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to