Почему опция импорта SVN не может обнаружить дублирование файлов - PullRequest
2 голосов
/ 22 марта 2011

Если я хочу зарегистрировать файл с тем же именем, который уже присутствует в SVN, я не смогу зафиксировать в этом случае.Например: Name.doc и name.doc.Но я смогу импортировать в этом случае.

Этот случай даже применим для имени папки.Это предотвращает операцию извлечения в будущем.

Есть ли способ предотвратить дублирование файлов или папок?или это невозможно в SVN?

1 Ответ

4 голосов
/ 22 марта 2011

Subversion чувствителен к регистру. Это означает, что можно иметь несколько элементов с одинаковым именем, например, Name.doc, name.doc, NaMe.DOC, ...

TortoiseSVN автоматически исправляет такие имена файлов в диалоге фиксации, потому что там он может сверяться с рабочей копией BASE и искать файлы с тем же именем. Другие клиенты SVN не делают этого, поэтому это предотвращает не коммит, а TortoiseSVN.

Однако, когда вы делаете импорт, у вас нет рабочей копии, с которой можно сравнивать имена файлов - и хранилище это не волнует. Таким образом, импорт приведет к нескольким элементам с одинаковым именем.

Если вы хотите предотвратить это, вы можете установить в хранилище сценарий ловушки перед фиксацией. Subversion предоставляет такой хук-скрипт: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/case-insensitive.py

...