Subject: Re: weird github capitalization problem

From: Torsten Bögershausen <[email-masked]>
Date: Fri, 14 Jan 2011 16:30:24 +0100

On 14.01.11 13:11, Torsten Bögershausen wrote:
> 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]>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email-masked]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Hm,
that didn't work.

See the test on my linux box, after the clone:

config core.ignorecase true && rm -rf * && git reset --hard && ls && git 
config core.ignorecase
HEAD is now at 2dac314 Added b
OurProjectsources  OurProjectSources
true

  git --version
git version 1.7.2.1.105.g50906

More work seems to be needed, sorry for the noise.
/Torsten