2009-12-17 3 views
4

У меня возникла странная функциональность подрывной деятельности.Subversion (svn + tortoiseSvn) commit не заблокированный файл

Мы используем последние 1,6 сервера Svn визуальный СВН и Tortoise SVN 1.6.6

Мы определили свойство SVN: потребности блокировки в файл, а затем, если скопировать файл из другого места он показывает локальное изменение, если вы пытаетесь передать SVN, он позволяет вам совершать транзакции, даже если вы не получили LOCK.

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

Спасибо.

ответ

2

Механизм блокировки в Subversion не даст вам, из коробки, способ предотвратить фиксацию без блокировки в первую очередь.

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

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

+0

вопрос отвечал: http://stackoverflow.com/questions/1925454/help-with-subversion-svn-hook-script спасибо. –

1

Subversion обеспечивает функциональность блокировки в качестве удобства, чтобы помочь пользователям управлять одновременными изменениями в противном случае неурожайными файлами. Всегда можно «украсть» блокировку в Subversion, поэтому связь между коммиттерами может быть необходима. Вы можете получить тот же эффект, что и вы, отключив атрибут «только для чтения» в файле.

Если вам необходимо защитить пользователей от умышленного неправильного использования функции блокировки, то, возможно, Subversion не подходит для вас. Другие продукты, такие как Perforce или ClearCase, гораздо более строгие с протоколами блокировки.

0

Недвижимость svn:needs-lock не svn-needs-lock. Это может быть вашей проблемой.

Также подрывная деятельность не позволяет принудительно блокировать блокировку. Замки можно переопределить с помощью опции `--force``.

+1

извините опечатка: недвижимость Svn: нужен замок –

0

Настройка свойства svn: needs-lock не делает ничего особенного: он сообщает Subversion устанавливать флаг «только для чтения» в этих файлах при проверке или обновлении.

В идеале, все файлы с набором свойств svn: needs-lock имеют установленный флаг readonly. Когда вы получаете блокировку svn, Subversion удаляет флаг readonly, чтобы вы могли редактировать файл.

Так что происходит в вашей ситуации: вы заменяете файл, у которого установлен флаг readonly с другим файлом, который не имеет этого установленного флага. И Windows не использует флаг readonly замененного файла.

Смежные вопросы