Предварительная фиксация Svn сцепляется для запрещения svn:mergeinfo на некорневых каталогах

Я хотел бы использовать рычаг перед фиксацией, который препятствует тому, чтобы разработчики установили svn:mergeinfo на некорневых каталогах. Таким образом, я хочу осуществить это, svn:mergeinfo может только быть установлен на каталогах как "соединительная линия" или "branches/branchName". Разработчикам иногда нужно "напоминать", что это не хорошая практика для использования подкаталога корня как цель слияния (на лучшие практики, перечисленные здесь). Кто-либо имеет такой сценарий рычага или знает, где я мог найти тот? Я нахожусь в среде окон, таким образом, пакет или powershell были бы предпочтительны, но что-либо, конечно, будет полезно.

19
задан PhilMY 12 January 2012 в 10:29
поделиться

1 ответ

Прежде всего, Я бы рекомендовал использовать 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 () , поскольку он вызывается для каждой строки, которая добавляется к свойству в файле .

7
ответ дан 30 November 2019 в 05:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: