Как оформить ветку исходного кода SVN с учетом регистра в системе без учета регистра? - PullRequest
4 голосов
/ 07 июня 2010

Я работаю в системе Macbook, которая отформатирована как система без учета регистра. Проблема в том, что мне нужно проверить ветку SVN, в которой есть несколько файлов, чувствительных к регистру. Пример:

inbuilt-file.c
InBuilt-File.c

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

Ответы [ 3 ]

10 голосов
/ 07 июня 2010

На ум сразу приходят следующие способы:

  1. Прекратить использовать имена файлов с учетом регистра.На самом деле нет причин, чтобы Foo.c и foo.c были разными вещами.

  2. Прекратить использование файловой системы без учета регистра.Вы можете форматировать тома HFS + без учета регистра в Mac OS X, хотя Adobe Creative Suite и World of Warcraft будут стонать по этому поводу.

  3. Проверьте это наФайл DMG отформатирован с учетом регистра HFS +.Создайте его в Дисковой утилите или с помощью такой команды: hdiutil create -size 100m -fs "Case-sensitive HFS+" -volname CaseSensitive CaseSensitive.dmg

  4. Идея с немного заячьей головой: используйте git svn и напишите несколько хуков,автоматически переводить имена файлов, где чувствительность к регистру является проблемой, в измененное имя файла, которое соответствует определенному стандарту при извлечении, а затем снова проверяет их, используя имя файла right .Конечно, это нарушит ваши сценарии сборки и зависимости и так далее, потому что файл все еще не будет иметь правильного имени.Поэтому вам нужно будет запустить ветку, которая вернет вас к необходимости использовать что-то вроде git svn.Это кажется излишне болезненным по сравнению с (1).

3 голосов
/ 07 июня 2010

Я недавно столкнулся с той же проблемой (под управлением Windows) и не смог ее выяснить.

Для пользователей Mac кто-то написал инструкции:

  1. Используйте приложение Apple Disk Utility для создания нового разреженного образа диска типа Mac OS Extended (с учетом регистра, с журналом)
  2. Смонтируйте новый образ диска
  3. проверить источники животных на это изображение
1 голос
/ 07 июня 2010

Ответ Лаури Лехтинена выглядит хорошо. Однако, если вам нужно работать с файлами в нечувствительной к регистру системе, вам все равно придется их переименовать. Вы можете переименовать их в хранилище, прежде чем проверять их с помощью команды svn move.

$ svn help rename
move (mv, rename, ren): Move and/or rename something in working copy or repository.
usage: move SRC... DST
...