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

Re: Bug: `gitsubmodule` does not list modules with unicode characters

From
Fredrik Gustafsson <iveqy@iveqy.com>
Date
Jun 8, 2013, 12:06 UTC
Message-ID
<20130608120600.GA2159@paksenarrion.iveqy.com>
In-Reply-To
<20130608091836.GA2925@elie.Belkin>
On Sat, Jun 08, 2013 at 02:18:36AM -0700, Jonathan Nieder wrote:
> 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.
Thanks, now I understand why.
Show 36 quoted lines
> 
> 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 <iveqy@iveqy.com>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
> ---
>  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
>  	succeed.
>  
>  -z::
> -	\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>::
>  --exclude=<pattern>::
> -- 
> 1.8.3
> 

That would be very helpfull. I would suggest to add something about unicode also (and maybe about the quotes that's added?). I'm a bit unsure about the formulating but how about something like this:

From 114c34ea482873b39c02e63eeaf866c3e9ebfc14 Mon Sep 17 00:00:00 2001
From: Jonathan Nieder <jrnieder@gmail.com>
Date: Sat, 8 Jun 2013 02:18:36 -0700
Subject: [PATCH] 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 <iveqy@iveqy.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 Documentation/git-ls-files.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt
index c0856a6..ef785ba 100644
--- a/Documentation/git-ls-files.txt
+++ b/Documentation/git-ls-files.txt
@@ -75,7 +75,9 @@ OPTIONS
 	succeed.
 
 -z::
-	\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>::
 --exclude=<pattern>::
@@ -172,7 +174,8 @@ path. (see linkgit:git-read-tree[1] for more information on state)
 
 When `-z` option is not used, TAB, LF, and backslash characters
 in pathnames are represented as `\t`, `\n`, and `\\`,
-respectively.
+respectively. Multibyte characters are represented by they escaped
+equivalents.
 
 
 Exclude Patterns
-- 
1.8.1.5


-- 
Med vänliga hälsningar
Fredrik Gustafsson

tel: 0733-608274
e-post: iveqy@iveqy.com
Previous: Jonathan Nieder
Message 5 of 5 in “Bug: `gitsubmodule` does not list modules with unicode characters”
  1. Ilya KulakovMar 23, 2013
  2. Jens LehmannMar 25, 2013
  3. Fredrik GustafssonJun 8, 2013
  4. Jonathan NiederJun 8, 2013
  5. Fredrik GustafssonJun 8, 2013

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.