Может ли SVN обрабатывать проблемы с чувствительностью к регистру?

Есть ли способ заставить SVN быть нечувствительным к регистру? У нас есть проблема, когда пользователь берет из среды linux файлы с файлами "file.ext" и "File.ext". Работает отлично. Проблема, однако, в том, что пользователь на MAC OSX или Windows пытается выполнить обновление/проверку. Эти два файла считаются одинаковыми, и действие выходит из строя с ошибкой.

Есть ли способ, чтобы SVN предотвращал передачу файлов "File.ext" и "file.ext" в первую очередь?

Этот вопрос похож, но смотрит на ту же проблему со стороны Windows, что здесь не проблема.

Ответ 1

Вы можете попробовать крючок с предварительной фиксацией, например этот (но не попробовать его сам).

Я предполагаю, что заставить пользователей следить за ним уже исключено? Я постоянно работаю над Linux, но обычно считаю имена файлов нечувствительными к регистру, i. е. для меня они одинаковы, независимо от того, что думает ОС.

Ответ 3

Я бы сказал, что вы смотрите на вещи не так. Лучшее решение здесь - поддерживать ваши файлы чувствительным к регистру образом. Что делать, если пользователь проверяет в Linux или Solaris, проект будет непригодным.

Кроме того, рассмотрим некоторые компиляторы языка, которые зависят от чувствительности к регистру, компилятор Java будет жаловаться на имена файлов, так как я уверен, что другие языки будут.

Другая проблема - это развертывание, что если вы развертываете систему * NIX. Тогда у вас проблемы!

Ответ 4

Я думаю, что техническая проблема действительно на стороне Mac и Windows, а именно, что их файловые системы не чувствительны к регистру. По крайней мере, на Mac вы можете переформатировать файловую систему как HFS + с включенной чувствительностью к регистру. Я не пользователь Windows, но может быть аналогичная опция в собственной файловой системе Windows (это все еще NTFS?).

Если вы не контролируете среды разработки, достаточные для форматирования с помощью файловой системы, чувствительной к регистру, то я думаю, что ваши единственные варианты - это привязка к фиксации, которая проверяет наличие дубликатов (без учета регистра) имена файлов в том же каталоге или изменить проект, чтобы не использовать файлы с тем же именем и другим случаем в том же каталоге.