Я хотел бы использовать рычаг перед фиксацией, который препятствует тому, чтобы разработчики установили svn:mergeinfo на некорневых каталогах. Таким образом, я хочу осуществить это, svn:mergeinfo может только быть установлен на каталогах как "соединительная линия" или "branches/branchName". Разработчикам иногда нужно "напоминать", что это не хорошая практика для использования подкаталога корня как цель слияния (на лучшие практики, перечисленные здесь). Кто-либо имеет такой сценарий рычага или знает, где я мог найти тот? Я нахожусь в среде окон, таким образом, пакет или powershell были бы предпочтительны, но что-либо, конечно, будет полезно.
Прежде всего, Я бы рекомендовал использовать Perl или Python для выполнения этой задачи, пакет Windows оставляет желать лучшего.
Для начала вы можете использовать пример сценария из http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ . Например, сценарий verify-po.py проверяет кодировки файлов, а commit-access-control.pl.in проверяет, есть ли у автора права на фиксацию. Вы, вероятно, использовали бы svnlook diff в своем скрипте (как в последнем), чтобы получать измененные свойства для каталогов и проходить соответствующие пути, будь то ветки или теги, используя регулярное выражение.
Обновление
Найдено enforcer скрипт перехвата предварительной фиксации , который, похоже, именно то, что вам нужно.
Этот сценарий использует svnlook, чтобы заглянуть в транзакцию это прогресс. Когда он просеивает транзакции, он обращается к набору хуки, которые позволяют репозиторию администратор, чтобы проверить, что происходит на и решить, есть ли это приемлемый.
Он содержит несколько методов, в том числе verify_property_line_added () , поскольку он вызывается для каждой строки, которая добавляется к свойству в файле .