Skip to content

Commit

Permalink
Set core.precomposeunicode to true on e.g. HFS+
Browse files Browse the repository at this point in the history
When core.precomposeunicode was introduced in 76759c7,
it was set to false on a unicode decomposing file system like HFS+
to be compatible with older versions of Git.

The Mac OS users need to find out that this configuration exist
and change it manually from false to true.

A smoother workflow can be achieved,
so set core.precomposeunicode to true on a decomposing file system.

Signed-off-by: Torsten Bögershausen <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
tboegi authored and gitster committed Aug 27, 2013
1 parent e230c56 commit 92b0c8b
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 7 deletions.
7 changes: 2 additions & 5 deletions compat/precompose_utf8.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,8 @@ void probe_utf8_pathname_composition(char *path, int len)
if (output_fd >= 0) {
close(output_fd);
strcpy(path + len, auml_nfd);
/* Indicate to the user, that we can configure it to true */
if (!access(path, R_OK))
git_config_set("core.precomposeunicode", "false");
/* To be backward compatible, set precomposed_unicode to 0 */
precomposed_unicode = 0;
precomposed_unicode = access(path, R_OK) ? 0 : 1;
git_config_set("core.precomposeunicode", precomposed_unicode ? "true" : "false");
strcpy(path + len, auml_nfc);
if (unlink(path))
die_errno(_("failed to unlink '%s'"), path);
Expand Down
1 change: 1 addition & 0 deletions t/t0050-filesystem.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ test_expect_failure CASE_INSENSITIVE_FS 'add (with different case)' '
test_expect_success "setup unicode normalization tests" '
test_create_repo unicode &&
cd unicode &&
git config core.precomposeunicode false &&
touch "$aumlcdiar" &&
git add "$aumlcdiar" &&
git commit -m initial &&
Expand Down
2 changes: 1 addition & 1 deletion t/t3910-mac-os-precompose.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Alongc=$Alongc$AEligatu$AEligatu #254 Byte

test_expect_success "detect if nfd needed" '
precomposeunicode=`git config core.precomposeunicode` &&
test "$precomposeunicode" = false &&
test "$precomposeunicode" = true &&
git config core.precomposeunicode true
'
test_expect_success "setup" '
Expand Down
1 change: 0 additions & 1 deletion t/t7400-submodule-basic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -958,7 +958,6 @@ test_expect_success 'submodule with UTF-8 name' '
git add sub &&
git commit -m "init sub"
) &&
test_config core.precomposeunicode true &&
git submodule add ./"$svname" &&
git submodule >&2 &&
test -n "$(git submodule | grep "$svname")"
Expand Down

0 comments on commit 92b0c8b

Please sign in to comment.