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

Re: [RFC] i18n.pathencoding

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 6, 2012, 03:24 UTC
Message-ID
<7vwr076dg7.fsf@alter.siamese.dyndns.org>
In-Reply-To
<5047ACE7.3050000@web.de>
Torsten Bögershausen <tboegi@web.de> writes:
Show 48 quoted lines
> On 05.09.12 13:11, Nguyen Thai Ngoc Duy wrote:
>> On Wed, Sep 5, 2012 at 12:19 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
>>>> On Sat, Sep 1, 2012 at 1:11 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>>>>> @@ -476,7 +476,7 @@ int parse_options(int argc, const char **argv, const char *prefix,
>>>>>                 usage_with_options(usagestr, options);
>>>>>         }
>>>>>
>>>>> -       precompose_argv(argc, argv);
>>>>> +       reencode_argv(argc, argv);
>>>>>         return parse_options_end(&ctx);
>>>>>  }
>>>>
>>>> If you have to re-encode command line arguments, what about paths
>>>> coming --stdin or a file?
>>>
>>> That problem is inherited from the MacOS precompose topic this one
>>> builds on.  Not that it is unimportant to fix, though.
>> 
>> On fixing that. 76759c7 describes the change as:
>> 
>>     The argv[] conversion allows to use the TAB filename completion done
>>     by the shell on command line.  It tolerates other tools which use
>>     readdir() to feed decomposed file names into git.
>> 
>> How come git's internal conversion helps TAB filename completion,
>> which is done before git is executed?
>
> Because the shell use readdir() itself when <TAB> is pressed
>
> $echo Bö > Bö
> $echo Ba > Ba
> $ls 
> Bo ̈
> Ba
>
> # The terminal program of Mac OS shows the decomposed "ö" correctly,
> "Bö" is shown as "Bö", while xterm shows "Bö" as "Bo ̈",
> that is "o" followod by a "combining diaresis".
>
> The shell seems to do the same:
> to add Bö to git,
>
> $git add Bo<TAB>
>
> needs to be used.
> And as a result, the sheel will pass the "o" in decomposed unicode to git,
> which is corrected in precompose_argv().

Well explained; this does not have anything to do with what Git outputs.

Previous: Torsten Bögershausen
Message 11 of 11 in “[RFC] i18n.pathencoding”
  1. Torsten BögershausenSep 1, 2012
  2. Robin RosenbergSep 2, 2012
  3. Torsten BögershausenSep 8, 2012
  4. Nguyen Thai Ngoc DuySep 4, 2012
  5. Junio C HamanoSep 4, 2012
  6. Torsten BögershausenSep 4, 2012
  7. Junio C HamanoSep 4, 2012
  8. Torsten BögershausenSep 5, 2012
  9. Nguyen Thai Ngoc DuySep 5, 2012
  10. Torsten BögershausenSep 5, 2012
  11. Junio C HamanoSep 6, 2012

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.