Subject: Re: [PATCH] t0050: mark TC merge (case change) as success

From: Torsten Bögershausen <[email-masked]>
Date: Mon, 14 Jan 2013 18:53:34 +0100

On 14.01.13 00:24, Junio C Hamano wrote:
> Torsten Bögershausen <[email-masked]> writes:
> 
>> The test "merge (case change)" passes on a case ignoring file system
>>
>> Use test_expect_success to remove the "known breakage vanished"
>>
>> Signed-off-by: Torsten Bögershausen <[email-masked]>
>> ---
> 
> Interesting.  When did this change?  Do you happen to have a
> bisection?  
This seems to be the commit:

commit 6aad47dec7a72bb36c64afb6c43f4dbcaa49e7f9
Merge: e13067a 0047dd2
Author: Junio C Hamano <[email-masked]>
Date:   Fri May 23 16:05:52 2008 -0700

    Merge branch 'sp/ignorecase'
    
    * sp/ignorecase:
      t0050: Fix merge test on case sensitive file systems
      t0050: Add test for case insensitive add
      t0050: Set core.ignorecase case to activate case insensitivity
      t0050: Test autodetect core.ignorecase
      git-init: autodetect core.ignorecase

Which comes from here:

commit 0047dd2fd1fc1980913901c5fa098357482c2842
Author: Steffen Prohaska <[email-masked]>
Date:   Thu May 15 07:19:54 2008 +0200

    t0050: Fix merge test on case sensitive file systems
    
    On a case sensitive filesystem, "git reset --hard" might refuse to
    overwrite a file whose name differs only by case, even if
    core.ignorecase is set.  It is not clear which circumstances cause this
    behavior.  This commit simply works around the problem by removing
    the case changing file before running "git reset --hard".
    
    Signed-off-by: Steffen Prohaska <[email-masked]>
    Signed-off-by: Junio C Hamano <[email-masked]>

===========

>Or did the test pass from the very beginning?
Hm, reading the commit, it seems as if the "root problem" still exist:
git reset --hard does not change the case of an existing file

What is the exist behvior?

My feeling is that the test as such deserves some more improvements,
the result of the merge is not checked, files are empty so that
the content is not checked.

Another improvement:
Running under Linux gives:
not ok 6 - add (with different case) # TODO known breakage
(and running under mingw failes)
 
Please stay tuned for more updates, thanks for reviewing.
/Torsten