Новая коллега осваивает работу с нашими продуктами. При этом у неё мак (целевая обстановка - Linux, полностью проверяется в виртуалке).
А у нас в репе в одном каталоге рядом registrar.cxx и Registrar.cxx.
Коротко:
1) head с явным указанием имени - показывает оба с разным содержимым.
2) ls пишет только один из них, Registrar.cxx.
3) "причем я клонила через XCode и в этой репе только с большой, а отдельно клонила через консоль и там только с маленькой"
"я хотела скопировать файл с маленькой буквы в папку где есть с большой, а он мне предложил его перезаписать"
В нормальных юниксах файлы не путаются. На винде хотя бы жёстко один файл. А тут то один, то два, и фиг поймёшь, от кого чего ожидать.
Переименуем, конечно, но повод обсудить в общем случае.
Стандартные аргументы в пользу регистронезависимости: облегчение человекочитаемости. Это миф: её путают с человекоозвучиваемостью. Регистр не должен быть важен, например, в имени человека (хотя и тут могут быть тонкости). Но я не знаю, в каком случае с экрана будет читаться что-то в шрифтах, которые не различают регистр. И совсем не понимаю, почему и зачем различие регистра считается важнее, чем 100500 других различий.
Почему такие FS различают «foo.docx», «foo.docx », «foо.docx» и «foo.docx» (кто увидит разницу?), но не различают «foo.docx» и «Foo.docx»? И что будет в случае İı (см. Turkey test)?
Или вот:
> А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и как прнято в Микрософт в разных местах эта таблица может отличаться. В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.
В идеале работа с этими чудесами должна идти в userland... но если нет, то пусть политика для конкретного каталога отрабатывается где-то в ядре - но должна зависеть от параметров каталога, а не от текущей локали приложения, и должны быть средства получить базовую форму имени и сравнить алиасы.
Но что за повышенный бред на маке?
UPD: Выкатил статью также на Хабр.
А у нас в репе в одном каталоге рядом registrar.cxx и Registrar.cxx.
Коротко:
1) head с явным указанием имени - показывает оба с разным содержимым.
2) ls пишет только один из них, Registrar.cxx.
3) "причем я клонила через XCode и в этой репе только с большой, а отдельно клонила через консоль и там только с маленькой"
"я хотела скопировать файл с маленькой буквы в папку где есть с большой, а он мне предложил его перезаписать"
В нормальных юниксах файлы не путаются. На винде хотя бы жёстко один файл. А тут то один, то два, и фиг поймёшь, от кого чего ожидать.
Переименуем, конечно, но повод обсудить в общем случае.
Стандартные аргументы в пользу регистронезависимости: облегчение человекочитаемости. Это миф: её путают с человекоозвучиваемостью. Регистр не должен быть важен, например, в имени человека (хотя и тут могут быть тонкости). Но я не знаю, в каком случае с экрана будет читаться что-то в шрифтах, которые не различают регистр. И совсем не понимаю, почему и зачем различие регистра считается важнее, чем 100500 других различий.
Почему такие FS различают «foo.docx», «foo.docx », «foо.docx» и «foo.docx» (кто увидит разницу?), но не различают «foo.docx» и «Foo.docx»? И что будет в случае İı (см. Turkey test)?
Или вот:
> А у винды есть таблица преобразований для того что бы большие и маленькие буквы не отличались и как прнято в Микрософт в разных местах эта таблица может отличаться. В консоли файл создаётся, а explorer — переименовать файл не может, то кавычки не такие и файл не найжде, то пробелы в начале или конце файла и амба.
В идеале работа с этими чудесами должна идти в userland... но если нет, то пусть политика для конкретного каталога отрабатывается где-то в ядре - но должна зависеть от параметров каталога, а не от текущей локали приложения, и должны быть средства получить базовую форму имени и сравнить алиасы.
Но что за повышенный бред на маке?
UPD: Выкатил статью также на Хабр.