Как заставить пользователя поместить комментарий в Subversion в Windows? - PullRequest
0 голосов
/ 29 декабря 2011

Я использую CollabNet Subversion в Windows, я искал, как я могу заставить пользователя добавить свой комментарий, прежде чем вносить свои изменения в SVN. В результате поиска больше внимания уделяется среде Linux и очень мало ресурсов в среде Windows. Так повезло, что я нашел эту ссылку , предназначенную для Windows.

К сожалению, с предоставленным кодом я все еще не мог заставить его работать в TortoiseSVN и EclipseSVN. Согласно предоставленному комментарию файл pre-commit.tmpl следует переименовать в pre-commit.bat, но он все еще не работает.

Ответы [ 2 ]

3 голосов
/ 15 ноября 2012

Вот скрипт ловушки перед фиксацией для Subversion, работающей в Linux:

https://injustfiveminutes.wordpress.com/2012/11/15/how-to-force-comments-on-subversion-commit-with-perl-hook-script/

3 голосов
/ 29 декабря 2011

Вы поместили этот скрипт в папку \ hooks ?Если да, я подозреваю, что в указанном сценарии отсутствует настройка среды (поскольку хуки выполняются в чистой среде).Из SVN book :

Из соображений безопасности в хранилище Subversion выполняются программы-перехватчики с пустой средой, то есть переменные среды вообще не задаются, даже $ PATH (или% PATH%, под Windows).Из-за этого многие администраторы сбиты с толку, когда их хук-программа работает нормально вручную, но не работает при запуске Subversion.Обязательно установите все необходимые переменные среды в вашей подключаемой программе и / или используйте абсолютные пути к программам.

Попробуйте сначала запустить только с эхом, чтобы убедиться, что он вообще вызывается сервером:

@echo off
setlocal

echo Commit stopped 1>&2
exit 1

Если это работает, попробуйте добавить это в начало этого пакета:

rem Add path to Subversion executable
set path=%path%;c:\Program Files\Subversion\bin

Кстати, я также нашел соответствующую статью здесь (содержит такжепример перехвата предварительной фиксации).

Обновление

Вы также можете попробовать решение этой же проблемы здесь: Перехватчики SVN Pre Commit *

Update2

Я думаю, что вы испортили клиентские хуки с серверными .Первый вызывается клиентом SVN, поэтому передаваемые параметры и способы интерпретации результатов полностью зависят от клиента.Я предполагаю, что хуки TortoiseSVN не предназначены для отклонения коммитов (т. Е. Уровень ошибки не проверяется), но могут использоваться для интеграции с другими системами.Смотрите также пример здесь .Чтобы действительно отклонить коммиты - вам нужно добавить эти хуки на сервере SVN.

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