# Trouble with case insensitive filesystem

3 messages from 2013-05-15 to 2013-05-16. Participants: Luc Bourhis, Johannes Sixt.
Thread: https://gitlist.dev/t/33824

## Luc Bourhis, 2013-05-15 08:40

Subject: Trouble with case insensitive filesystem
Message-ID: <F0A0C92F-6D85-463E-9CB5-B9060BDA196B@mac.com>
URL: https://gitlist.dev/e/F0A0C92F-6D85-463E-9CB5-B9060BDA196B%40mac.com

```
Hi,

I work on a case insensitive filesystem and I have core.ignorecase set to true. 
I have a series of troublesome commits and here is what git cat-file -p shows me:

...
100644 blob 99...	fourCircles.py
100644 blob 97...	fourcircles.py
...

The content of those slightly differ:

--- a/99...
+++ b/97...
-__version__='$Header: .../fourCircles.py, ...$'
+__version__='$Header: .../fourcircle.py, ...$'
 
As you can guess this git repo started its life with CVS (it was converted with git cvsimport). 
So I thought it was a job for git filter-branch, specifically I propose to do:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch .../fourCircles.py' <commit>

However because of those two blobs, I have:

~> git status
#	modified:   .../fourCircles.py

and git filter-branch therefore refuses to run. I tried to use checkout, reset, 
even to commit that fluke of a change but whatever I do, that file is still marked 
as modified. 

I am sure I am missing a tiny detail that would get me
out of those dire straights but it has eluded me so far.

I run git 1.8.2.2 on MacOS 10.7.5 (installed with MacPorts if that matters).

Best wishes,

Luc J. Bourhis

```

## Johannes Sixt, 2013-05-15 13:32

Subject: Re: Trouble with case insensitive filesystem
Message-ID: <51938E51.5060900@viscovery.net>
URL: https://gitlist.dev/e/51938E51.5060900%40viscovery.net
In-Reply-To: <F0A0C92F-6D85-463E-9CB5-B9060BDA196B@mac.com>

```
Am 5/15/2013 10:40, schrieb Luc Bourhis:
> I work on a case insensitive filesystem and I have core.ignorecase set to true. 
> ...
> So I thought it was a job for git filter-branch, ...
> 
> However because of those two blobs, I have:
> 
> ~> git status
> #	modified:   .../fourCircles.py
> 
> and git filter-branch therefore refuses to run.

Make a commit that has neither file, run git filter-branch, then throw
away the commit with git reset --hard HEAD~.

-- Hannes

```

## Luc Bourhis, 2013-05-16 03:15

Subject: Re: Trouble with case insensitive filesystem
Message-ID: <075E55AB-24A4-495E-BC40-92745DE7F4AE@mac.com>
URL: https://gitlist.dev/e/075E55AB-24A4-495E-BC40-92745DE7F4AE%40mac.com
In-Reply-To: <51938E51.5060900@viscovery.net>

```

On 15 May 2013, at 15:32, Johannes Sixt wrote:

> Am 5/15/2013 10:40, schrieb Luc Bourhis:
>> I work on a case insensitive filesystem and I have core.ignorecase set to true. 
>> ...
>> So I thought it was a job for git filter-branch, ...
>> 
>> However because of those two blobs, I have:
>> 
>> ~> git status
>> #	modified:   .../fourCircles.py
>> 
>> and git filter-branch therefore refuses to run.
> 
> Make a commit that has neither file, run git filter-branch, then throw
> away the commit with git reset --hard HEAD~.

That did not work, i.e. fourCircles remained "unmodified". Eventually, I managed by successively removing the file with "C" and then the file with "c". Then filter-branch, and then reset --hard as you suggested. Then of course, all the sha's have changed and git cvsimport can't be used for incremental updates anymore, which I knew would happen, obviously.

Thanks,

Luc J. Bourhis
 
```
