Может ли SVN обрабатывать проблемы с чувствительностью к регистру?
Есть ли способ заставить SVN быть нечувствительным к регистру? У нас есть проблема, когда пользователь берет из среды linux файлы с файлами "file.ext" и "File.ext". Работает отлично. Проблема, однако, в том, что пользователь на MAC OSX или Windows пытается выполнить обновление/проверку. Эти два файла считаются одинаковыми, и действие выходит из строя с ошибкой.
Есть ли способ, чтобы SVN предотвращал передачу файлов "File.ext" и "file.ext" в первую очередь?
Этот вопрос похож, но смотрит на ту же проблему со стороны Windows, что здесь не проблема.
Ответы
Ответ 1
Вы можете попробовать крючок с предварительной фиксацией, например этот (но не попробовать его сам).
Я предполагаю, что заставить пользователей следить за ним уже исключено? Я постоянно работаю над Linux, но обычно считаю имена файлов нечувствительными к регистру, i. е. для меня они одинаковы, независимо от того, что думает ОС.
Ответ 2
Теперь Subversion 1.7 обрабатывает случай, когда только переименовывает в Windows.
Ответ 3
Я бы сказал, что вы смотрите на вещи не так. Лучшее решение здесь - поддерживать ваши файлы чувствительным к регистру образом. Что делать, если пользователь проверяет в Linux или Solaris, проект будет непригодным.
Кроме того, рассмотрим некоторые компиляторы языка, которые зависят от чувствительности к регистру, компилятор Java будет жаловаться на имена файлов, так как я уверен, что другие языки будут.
Другая проблема - это развертывание, что если вы развертываете систему * NIX. Тогда у вас проблемы!
Ответ 4
Я думаю, что техническая проблема действительно на стороне Mac и Windows, а именно, что их файловые системы не чувствительны к регистру. По крайней мере, на Mac вы можете переформатировать файловую систему как HFS + с включенной чувствительностью к регистру. Я не пользователь Windows, но может быть аналогичная опция в собственной файловой системе Windows (это все еще NTFS?).
Если вы не контролируете среды разработки, достаточные для форматирования с помощью файловой системы, чувствительной к регистру, то я думаю, что ваши единственные варианты - это привязка к фиксации, которая проверяет наличие дубликатов (без учета регистра) имена файлов в том же каталоге или изменить проект, чтобы не использовать файлы с тем же именем и другим случаем в том же каталоге.