Subject: Re: weird github capitalization problem

From: Torsten Bögershausen <[email-masked]>
Date: Fri, 14 Jan 2011 13:11:09 +0100

On 07.01.11 10:17, Andreas Stricker wrote:
> Am 04.01.11 14:04, schrieb bolfo:
>> I first installed everything on my laptop, coded some stuff and then pushed
>> to github. Apparently something went wrong because there was a new
>> directory, while at first the directory was OurProjectsources, there now was
>> a new directory called OurProjectSources. Weird since my local directory has
>> the s not capitalized.
>
>> I work on a windows PC while the original author works on a Mac, could this
>> be the problem?
>
> Yes, Mac OSX HFS+ filesystem ignores the case by default (you'll need
> to reformat to change this). So OurProjectSources and OurProjectsources
> both refers to the same directory on Mac OS X. On Linux there are two
> different directories
>
> This frequently causes issues here too. An example:
>
> me@mac:t $ git init r
> Initialized empty Git repository in /private/tmp/t/r/.git/
> me@mac:r (master) $ mkdir OurProjectsources
> me@mac:r (master) $ touch OurProjectsources/a
> me@mac:r (master) $ git add OurProjectsources/a
> me@mac:r (master) $ git commit -m "initial import"
> [master (root-commit) c2cb2f3] initial import
>   0 files changed, 0 insertions(+), 0 deletions(-)
>   create mode 100644 OurProjectsources/a
> me@mac:r (master) $ mv OurProjectsources/ OurProjectSources
> me@mac:r (master) $ touch OurProjectSources/b
> me@mac:r (master) $ git add OurProjectSources/b
> me@mac:r (master) $ git commit -m "added b"
> [master 4de780c] added b
>   0 files changed, 0 insertions(+), 0 deletions(-)
>   create mode 100644 OurProjectSources/b
> me@mac:r (master) $ git stat
> # On branch master
> nothing to commit (working directory clean)
> me@mac:r (master) $ scp -r .git linux:t.git
> me@mac:r (master) $ ssh linux
>
> me@linux:~ $ git clone t.git/
> Initialized empty Git repository in /home/me/t/.git/
> me@linux:~ $ cd t
> me@linux:~/t $ ls
> OurProjectsources  OurProjectSources
> me@linux:~/t $ find *
> OurProjectsources
> OurProjectsources/a
> OurProjectSources
> OurProjectSources/b
>
> And there it is, our mess. The mac user accidentally created
> two different directories but didn't see them.
>
> ~/Andy
>

The following is on next from git.git:
(And more commits fixing more core.ignorecase issues)
You might give it a try.
HTH
/Torsten

commit 50906e04e8f48215b0b09841686709b92a2ab2e4
Author: Joshua Jensen <[email-masked]>
Date:   Sun Oct 3 09:56:46 2010 +0000

     Support case folding in git fast-import when core.ignorecase=true

     When core.ignorecase=true, imported file paths will be folded to match
     existing directory case.

     Signed-off-by: Joshua Jensen <[email-masked]>
     Signed-off-by: Johannes Sixt <[email-masked]>
     Signed-off-by: Junio C Hamano <[email-masked]>