Добрый день! В настоящее время я работаю над существующими SVN Edge и TortoiseSVN моей компании. Мы никогда не используем ловушку перед фиксацией, и, прочитав здесь все вопросы и ответы, я решил ввести требование для сообщения фиксации. Сначала я переименовал pre-commit.tmpl в pre-commit, а затем изменил код следующим образом, но я постоянно получаю следующие ошибки:
Ошибка 1: «/ usr / bin / svnlook: not found» (т.е. значение SVNLOOK)
Ошибка 2: «Если вы хотите снять блокировку, воспользуйтесь диалоговым окном« Проверить наличие изменений »или обозревателем хранилища».
В чем должна быть ценность SVNLOOK? Или какую строку мне нужно изменить. Пожалуйста, помогите мне, что мне не хватает ... Я действительно запутался, и я не разработчик. Большое спасибо!!!
1-я попытка (оригинал SVN Edge):
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/opt/CollabNet_Subversion/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || exit 1
# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
# All checks passed, so allow the commit.
exit 0
2-я попытка (http://www.wandisco.com/svnforum/forum/opensource-subversion-forums/scripts-contributions/9015-pre-commit-comment-hook-script):
#!/usr/bin/perl
# config section
$minchars = 5;
$svnlook = '/usr/bin/svnlook';
#--------------------------------------------
$repos = $ARGV[0];
$txn = $ARGV[1];
$comment = `$svnlook log -t "$txn" "$repos" | grep "[A-Z][A-Z][A-Z]-*"`;
chomp($comment);
if ( length($comment) == 0 ) {
print STDERR "Your commit has been blocked as you did not input a Product reference id. Please input an id in the form of ABC-123!";
exit(1);
}
elsif ( length($comment) < $minchars ) {
print STDERR "Comment must be at least $minchars characters.";
exit(1);
}
exit(0);
3-я попытка (http://www.stillnetstudios.com/require-subversion-comments-minimum/):
#!/usr/bin/perl
# config section
$minchars = 4;
$svnlook = '/usr/bin/svnlook';
#--------------------------------------------
$repos = $ARGV[0];
$txn = $ARGV[1];
$comment = `$svnlook log -t "$txn" "$repos"`;
chomp($comment);
if ( length($comment) == 0 ) {
print STDERR "A comment is required!";
exit(1);
}
elsif ( length($comment) < $minchars ) {
print STDERR "Comment must be at least $minchars characters.";
exit(1);
}
exit(0);
find /usr | grep "svnlook"
найти путь. - person Majora320   schedule 11.03.2016