Запрещение фиксации SVN без описания

У меня есть SVN-репозиторий, и мне нужно, чтобы коммиты не работали, если описание не введено. Возможно ли это сделать, предпочтительно на стороне сервера? (Пользователи используют несколько различных инструментов для взаимодействия с хранилищем; хотя, если бы это было возможно на стороне клиента в TortoiseSVN, это бы облегчило проблему)

Google не очень помог, не могли бы вы дать мне несколько советов?

Благодарю.

3 ответа

Решение

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

Если вы посмотрите в каталог "hooks" только что созданного репозитория, вы найдете pre-commit.tmpl файл. Он содержит инструкции, и образец даже проверяет, что сообщение журнала содержит текст - именно то, что вы хотите.

Итак, вы должны быть в состоянии переименовать pre-commit.tmpl в pre-commit и сделайте его исполняемым, а затем поверните его. Тем не менее, я советую вам попробовать его в репозитории с песочницей перед производственным, чтобы избежать злых пользователей, которые не могут сделать коммит, пока вы делаете это правильно:)

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

В проекте FreeBSD есть несколько примеров, которые вы можете использовать. Смотрите публичный репозиторий SVN с крючками.

Другие вопросы по тегам