[PATCH] [WIP] git on MacOSX and files with decomposed utf-8 file names
From: Steffen Prohaska <hidden>
Date: 2016-06-15 22:44:11
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Mitch Tishmack <redacted>
[ spr: This patch contains Mitch's work with his original email
as the commit message. ]
Apologies Steffen, I grabbed your CamelCase test and did a search/replace,
wasn't sure what to call it though... But I am on lunch and wanted to be
useful. Rip it apart all you want.
Fails on hfs* on OSX, works on ufs. I will bother with zfs when it can be used
again.
On UFS:
$ /bin/sh ./t0060-normalization.sh
* ok 1: setup
* ok 2: rename (silent normalization)
* ok 3: merge (silent normalization)
* passed all 3 test(s)
On HFS:
$ /bin/sh t0060-normalization.sh
* ok 1: setup
* FAIL 2: rename (silent normalization)
git mv ä ä &&
git commit -m "rename"
* FAIL 3: merge (silent normalization)
git reset --hard initial &&
git merge topic
* failed 2 among 3 test(s)
The test case, it uses perl, assuming only 5.6.1+ will work with this:
Signed-off-by: Steffen Prohaska <redacted>
---
t/t0060-normalization.sh | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
create mode 100755 t/t0060-normalization.sh
diff --git a/t/t0060-normalization.sh b/t/t0060-normalization.sh
new file mode 100755
index 0000000..f754fe4
--- /dev/null
+++ b/t/t0060-normalization.sh@@ -0,0 +1,36 @@ +#!/bin/sh + +test_description='Test for silent normalization issues' + +. ./test-lib.sh + +auml=`perl -CO -e 'print pack("U",0x00E4)'` +aumlcdiar=`perl -CO -e 'print pack("U",0x0061).pack("U",0x0308)'` +test_expect_success setup " + touch $aumlcdiar && + git add $aumlcdiar && + git commit -m \"initial\" + git tag initial && + git checkout -b topic && + git mv $aumlcdiar tmp && + git mv tmp $auml && + git commit -m \"rename\" && + git checkout -f master + +" + +test_expect_success 'rename (silent normalization)' " + + git mv $aumlcdiar $auml && + git commit -m \"rename\" + +" + +test_expect_success 'merge (silent normalization)' ' + + git reset --hard initial && + git merge topic + +' + +test_done
--
1.5.4.40.g4a680