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

Re: git diff does not precompose unicode file paths (OS X)

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Mar 4, 2016, 18:49 UTC
Message-ID
<56D9D8C6.2060104@ramsayjones.plus.com>
In-Reply-To
<D9E0FEEC-1987-4045-AD0F-4C7C76DC067B@fournova.com>
On 04/03/16 14:37, Alexander Rinass wrote:
> 
>> On 04 Mar 2016, at 13:16, Torsten Bögershausen <tboegi@web.de> wrote:
>>
>> On 03/04/2016 10:07 AM, Alexander Rinass wrote:
[snip]
Show 5 quoted lines
> 
> Sticking a precompose_argv(argc, argv) into diff.c’s cmd_diff function fixes the issue.
> 
> But I had to disable the check (precomposed_unicode != 1) in precompose_argv to make it work. That’s probably because precompose_argv is usually called from parse_options and is missing some other call before it?
> 

Yes, you need to place it after the configuration is read, but before calls to diff_no_index() or setup_revisions(). Directly after the call to git_config() should be fine. [But this begs the question about other commands, including plumbing, which don't call parse_options().]

Maybe this will work for you (I can't test it, since I don't have any access to a Mac):

diff --git a/builtin/diff.c b/builtin/diff.c
index 343c6b8..b7a9405 100644
--- a/builtin/diff.c
+++ b/builtin/diff.c
@@ -320,6 +320,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
 		gitmodules_config();
 	init_diff_ui_defaults();
 	git_config(git_diff_ui_config, NULL);
+	precompose_argv(argc, argv);
 
 	init_revisions(&rev, prefix);
 


ATB,
Ramsay Jones
Previous: Junio C HamanoNext: Alexander Rinass
Message 5 of 11 in “git diff does not precompose unicode file paths (OS X)”
  1. Alexander RinassMar 4, 2016
  2. Torsten BögershausenMar 4, 2016
  3. Alexander RinassMar 4, 2016
  4. Junio C HamanoMar 4, 2016
  5. Ramsay JonesMar 4, 2016
  6. Alexander RinassMar 7, 2016
  7. Torsten BögershausenMar 7, 2016
  8. Torsten BögershausenMar 8, 2016
  9. Alexander RinassMar 14, 2016
  10. Torsten BögershausenMar 15, 2016
  11. Alexander RinassApr 4, 2016

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.