Запрещение фиксации SVN без описания
У меня есть SVN-репозиторий, и мне нужно, чтобы коммиты не работали, если описание не введено. Возможно ли это сделать, предпочтительно на стороне сервера? (Пользователи используют несколько различных инструментов для взаимодействия с хранилищем; хотя, если бы это было возможно на стороне клиента в TortoiseSVN, это бы облегчило проблему)
Google не очень помог, не могли бы вы дать мне несколько советов?
Благодарю.
3 ответа
Да, вы захотите записать ловушку предварительной фиксации в репозитории, которая завершается неудачно с соответствующим сообщением об ошибке для отправки обратно клиенту.
Если вы посмотрите в каталог "hooks" только что созданного репозитория, вы найдете pre-commit.tmpl
файл. Он содержит инструкции, и образец даже проверяет, что сообщение журнала содержит текст - именно то, что вы хотите.
Итак, вы должны быть в состоянии переименовать pre-commit.tmpl
в pre-commit
и сделайте его исполняемым, а затем поверните его. Тем не менее, я советую вам попробовать его в репозитории с песочницей перед производственным, чтобы избежать злых пользователей, которые не могут сделать коммит, пока вы делаете это правильно:)
Вы можете сделать это с помощью хуков репозитория. В вашем случае вы хотите ловушку перед фиксацией, которая проверит сообщение и отклонит фиксацию, если она пуста.
В проекте FreeBSD есть несколько примеров, которые вы можете использовать. Смотрите публичный репозиторий SVN с крючками.