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

Re: [RFC] i18n.pathencoding

From
Torsten Bögershausen <tboegi@web.de>
Date
Sep 5, 2012, 19:49 UTC
Message-ID
<5047ACE7.3050000@web.de>
In-Reply-To
<CACsJy8ARmPwELFhdvu_Y2kZNbYNgTzoqLzriH2oB7WtxM8D7hg@mail.gmail.com>
On 05.09.12 13:11, Nguyen Thai Ngoc Duy wrote:
Show 26 quoted lines
> 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().

Previous: Nguyen Thai Ngoc DuyNext: Junio C Hamano
Message 10 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.