Если вы довольны некоторыми сценариями, вы можете использовать svnlook, инструмент, который предоставляет отчеты об изменениях и изменениях в хранилище.
Я использую его в перехвате пост-фиксации, чтобы отправить изменения всех файлов в мой багтрекер, чтобы он мог отображать, какие файлы были изменены с учетом номера редакции. Я добавляю конкретный текст в журнал, и он выбирает его, чтобы узнать, с какой ошибкой ассоциировать данные.
EDIT, как и было запрошено, этот Perl-скрипт вызывается из ловушки post-commit:
$url = `svnlook log -r $ARGV[1] $ARGV[0]`;
# check the string contains the matching regexp,
# quit if it doesn't so we don't waste time contacting the webserver
# this is the g_source_control_regexp value in mantis.
exit 1 if not $url =~ /\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i;
$url = $url . "---\nSVN Revision: " . $ARGV[1];
$url = $url . "\n" . `svnlook dirs-changed -r $ARGV[1] $ARGV[0]`;
#urlencode the string
$url =~ s/([^\w\-\.\@])/$1 eq " "?"+": sprintf("%%%2.2x",ord($1))/eg;
print "log=$url";
exit 0;
это записывает в файл postcommit_mantis.txt, который отправляется Mantis через curl:
d:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://<server>/mantis/core/checkincurl.php