В svn репо моей компании много документов по MS Word. Мы внедрили политику, согласно которой все файлы .doc должны иметь свойство svn: needs-lock, установленное для предотвращения параллельного доступа к файлам, которые трудно объединить (мы также сделали это для xls, ppt, pdf и т. Д.).
Мы реализовали эту политику, распространив конфигурацию svn с автоматическими настройками, установленными соответствующим образом для всех соответствующих типов документов. Мы также настроили ловушку предварительной фиксации, которая проверяет, что все добавленные файлы этих типов имеют установленное свойство needs-lock (то есть, если они забывают / слишком ленивы, чтобы обновить свой конфигурационный файл svn, они не смогут добавить любые документы в репо).
Однако проблема, с которой я столкнулся, заключается в том, что ловушка предварительной фиксации завершается неудачно, когда пользователи пытаются импортировать файлы в репозиторий, например Некоторые пользователи любят добавлять файлы непосредственно через Repo Browser TortoiseSVN, который фактически является импортом SVN.
Посредством тестирования других типов файлов я увидел, что при импорте фактически применяются автоматические реквизиты, перечисленные в моей конфигурации, но, похоже, они не применяются в тот момент, когда выполняется ловушка предварительной фиксации. При импорте файлов .doc ловушка завершается ошибкой, сообщая об отсутствии свойства needs-lock.
Есть ли большая разница между добавлением одного файла в рабочую копию и его фиксацией по сравнению с импортом файла напрямую? Нужно ли нам каким-то образом адаптировать наш предварительный хук, чтобы удовлетворить этот сценарий?