Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

So what happens if someone puts those two in a git repo and a Mac user checks out the folder?


  git clone https://github.com/ghurley/encodingtest
  Cloning into 'encodingtest'...
  remote: Enumerating objects: 9, done.
  remote: Counting objects: 100% (9/9), done.
  remote: Compressing objects: 100% (5/5), done.
  remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0
  Receiving objects: 100% (9/9), done.
  Resolving deltas: 100% (1/1), done.
  warning: the following paths have collided (e.g. case-sensitive paths
  on a case-insensitive filesystem) and only one from the same
  colliding group is in the working tree:

  'ss'
  'ß'


I have this issue on occasion with older mixed C/C++ codebases that use `.c` for C files and `.C` for C++ files. Maddening.


I never understood the popularity of the '.C' extension for C++ files. I have my own preference (.cpp), but it's essentially arbitrary compared to most other common alternatives (.cxx, .c++). The '.C' extension is the only one that just seems worse (this case sensitivity issue, and just general confusion given how similar '.c' looks to '.C').

But even more than that, I just don't get how C++ turns into 'C' at all. It seems actively misleading.


C++

is Incremented C

which is Big C

which is Capital C


But C is already capital C! Even .d would have been a better extension.


He is clearly taking about the capital version of capital C.


You can always reformat as APFS (Case Sensitive)


I remember seeing quite a few things in the old days that would have both 'makefile' and 'Makefile'.


EEXIST




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: