Re: Cloned repository has file changes -> bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Thank you for your quick responses. I was able to resolve the problem based on your feedback!

Based on this experience, I would like to suggest that git is somehow able to avoid these problems by doing a case check itself rather than relying on the host OS for this? 

Kind regards!

Filip



> Op 28 jan. 2018, om 08:57 heeft Torsten Bögershausen <tboegi@xxxxxx> het volgende geschreven:
> 
> On Sat, Jan 27, 2018 at 08:59:50PM +0100, Ævar Arnfjörð Bjarmason wrote:
>> 
>> On Sat, Jan 27 2018, Filip Jorissen jotted:
>> 
>>> I think our git repository is bugged. The reason why I say this is the
>>> following. When cloning the repository, the newly cloned repository
>>> immediately has file changes[...].
>> 
>> If you run this:
>> 
>>    git ls-files | tr '[:upper:]' '[:lower:]' | sort | uniq -D | grep '^'
>> 
>> You'll see that the reason is that you have files that differ only in
>> case.
>> 
>> You are using a Mac, and Macs by default think that files that are
>> different binary strings are the same file, since they don't consider
>> case to be relevant. The file FOO, foo and FoO and fOo are all the same
>> file as far as your Mac is concerned, but would be 4 different files on
>> Linux.
>> 
>>> How can I fix the repository?
>> 
>> You could check it out on a OS that considers files that differ in case
>> to be different files, e.g. on Linux, move them around, push it, and new
>> clones should work on your Mac.
>> 
>> Alternatively I hear that you can create a loopback case-sensitive FS
>> image on Macs.
> 
> You can even fix the repo locally.
> There are 2 files with uppercase/lowercase collisions.
> I show you how to fix one off these, the other one goes similar.
> After that, do a commit and a push and pull request.
> 
> 
> 
> Changes not staged for commit:
>  (use "git add <file>..." to update what will be committed)
>  (use "git checkout -- <file>..." to discard changes in working directory)
> 
>        modified:   IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt
>        modified:   IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Utilities_Psychrometrics_Functions_Examples_saturationPressure.txt
> 
> no changes added to commit (use "git add" and/or "git commit -a")
> user@mac:/tmp/IDEAS> git ls-files -s | grep -i IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt
> 100644 f56cfcf14aa4b53dfc5ecfb488366f721c94c8e2 0       IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt
> 100644 e345e1372111d034b4c5a1c75eb791340b93f55e 0       IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt
> user@mac:/tmp/IDEAS> git mv IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump2.txt
> user@mac:/tmp/IDEAS> git checkout  IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump2.txt
> user@mac:/tmp/IDEAS> git checkout IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt
> user@mac:/tmp/IDEAS> git status
> On branch master
> Your branch is up to date with 'origin/master'.
> 
> Changes to be committed:
>  (use "git reset HEAD <file>..." to unstage)
> 
>        renamed:    IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump.txt -> IDEAS/Resources/ReferenceResults/Dymola/ideas_Fluid_HeatExchangers_GroundHeatExchangers_Borefield_Examples_MultipleBoreholesWithHeatPump2.txt
> 
> Changes not staged for commit:
>  (use "git add <file>..." to update what will be committed)
>  (use "git checkout -- <file>..." to discard changes in working directory)
> 
>        modified:   IDEAS/Resources/ReferenceResults/Dymola/IDEAS_Utilities_Psychrometrics_Functions_Examples_saturationPressure.txt
> 
> user@mac:/tmp/IDEAS>





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux