threads / discuss / 33824

Trouble with case insensitive filesystem

Subject: Trouble with case insensitive filesystem

## tl;dr

3 messages between May 15, 2013 and May 16, 2013.

replies: 2people: 2as markdown or json

Luc Bourhis· May 15, 2013, 08:40 UTC · lore
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· May 15, 2013, 13:32 UTC · re: Luc Bourhis · lore

Re: Trouble with case insensitive filesystem

Am 5/15/2013 10:40, schrieb Luc Bourhis:
Show 10 quoted lines
> 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· May 16, 2013, 03:15 UTC · re: Johannes Sixt · lore

Re: Trouble with case insensitive filesystem

On 15 May 2013, at 15:32, Johannes Sixt wrote:
Show 14 quoted lines
> 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
 

← back to recent threads