Как я могу предотвратить фиксации Подверсии без комментариев?

Кто-либо знает, как предотвратить, соглашается на репозиторий кода Подверсии, когда нет никакого вводимого комментария фиксации?

65
задан ThinkingStiff 18 January 2012 в 20:53
поделиться

3 ответа

Вы можете использовать ловушку (поместите ее в / hooks и назовите ее pre-commit .bat (Windows)):

@echo off
::
:: Stops commits that have empty log messages.
::

setlocal

rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2

rem check for an empty log message
svnlook log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0

:err
echo. 1>&2
echo Your commit has been blocked because you didn't give any log message 1>&2
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
exit 1

src: http://www.anujgakhar.com/2008/02/14/how-to-force-comments-on-svn-commit/

59
ответ дан 24 November 2019 в 15:26
поделиться

Фактически, когда вы создаете репозиторий Subversion, его подкаталог хуков уже содержит образцы ловушек. Обратитесь к файлу pre-commit.tmpl , чтобы узнать подробности о параметрах ловушки. Он также содержит пример ловушки, которую вы ищете:

#!/bin/sh
REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/local/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
   grep "[a-zA-Z0-9]" > /dev/null || exit 1

Вы можете написать ловушку на любом скрипте или языке, если он исполняется на вашей машине Subversion.

18
ответ дан 24 November 2019 в 15:26
поделиться

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

6
ответ дан 24 November 2019 в 15:26
поделиться
Другие вопросы по тегам:

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