Subversion: как удалить свойство при коммите - PullRequest
7 голосов
/ 08 октября 2009

Моя ситуация такова: у меня дома установлен сервер Subversion, и мы также используем Subversion в компании, где я работаю.

На работе мы используем модель блокировки / редактирования / разблокировки (в основном потому, что мы переходим с Visual SourceSafe, и на данный момент это проще). На данный момент это достигается путем установки свойства «needs-lock» для всех добавленных файлов (используя раздел auto-props конфигурационного файла клиента SVN на каждом клиентском компьютере).

Однако я не хочу использовать эту модель для моего домашнего SVN-сервера (я предпочитаю способ редактирования / слияния / фиксации), поэтому в настоящее время после того, как я что-либо зафиксировал на своем домашнем сервере с рабочего компьютера, у меня есть вручную удалить свойство needs-lock из всех добавленных мной файлов.

Можно ли настроить клиент SVN так, чтобы это свойство применялось только к файлам, зафиксированным на определенном сервере? Или я поступаю неправильно: нужно ли использовать хуки на рабочем сервере для добавления этого свойства вместо клиента?

Любая помощь или совет очень ценится.

РЕДАКТИРОВАТЬ: По-видимому, вы не можете сделать это на сервере (или, по крайней мере, это настоятельно рекомендуется не делать).

Ответы [ 2 ]

10 голосов
/ 08 октября 2009

Я также написал небольшой пакетный файл Windows для рекурсивного удаления свойства needs-lock из любых папок, в которых оно уже было установлено. Поместите эти строки в текстовый файл:

svn propdel svn:needs-lock -R -q "%1"
svn commit "%1" -m "Removed needs-lock"

Сохраните его как remove-needs-lock.bat и добавьте его местоположение в переменную среды PATH. Тогда вы можете запустить:

remove-needs-lock c:\workingcopyfoldername

И еще: все файлы больше не требуют блокировки для редактирования.

3 голосов
/ 08 октября 2009

Функция автозапроса Subversion настраивается в файле config вашего клиента SVN. Существует также отдельный файл конфигурации серверы , который поддерживает параметры, относящиеся к конкретному серверу, но, к сожалению, вы не можете переопределить там автоматические настройки.

Я предлагаю вам сделать две версии конфигурации: config.home и config.work . Затем напишите сценарий оболочки (например, файл .bat), который копирует один из них поверх config . Это должно позволить вам быстро и легко переключаться между обеими конфигурациями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...