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:
diff --git a/t/t0060-normalization.sh b/t/t0060-normalization.sh
new file mode 100755
index 0000000..e012c02
--- /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.3
On Jan 24, 2008, at 12:39 AM, Steffen Prohaska wrote:
>
> On Jan 24, 2008, at 6:30 AM, Kevin Ballard wrote:
>
>> On Jan 23, 2008, at 11:37 PM, Martin Langhoff wrote:
>>
>>> Kevin, other people have already started posting nice nuggets of
>>> test
>>> cases. Where are *your* test cases? That would be a nice way to
>>> "have
>>> the last word" on this ;-)
>>
>>
>> I'm planning on devoting time this weekend to learning enough about
>> git to be able to start hacking. I'm just too busy during the week
>> to be able to devote the dedicated time necessary to this stuff.
>> Hopefully I'll actually be able to start producing stuff this
>> weekend.
>
> You do not need to learn much about git to post a test case.
> Only a few lines of shell code that demonstrate how git fails to
> handle a specific situation is needed. To do this, knowledge
> about the internals of git does not necessary help. It should be
> sufficient to know how to use git.
>
> You may start with a simple shell script and send it to the list.
> Though, a real patch would be the preferred way. For this, you
> should have a quick look into the t/ subdirectory. Just open any
> of the tNUMBER*.sh files. It should be quite obvious how your
> sequence of shell commands could be cast into a git test script.
>
> Steffen
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html