Использование PCRE для решения будет:
Это использование флага m
. Если вы хотите проверить только с начала и конца строки, добавьте ^
и $
в начало и конец соответственно
abc(?!.*(abc|xyz).*123).*123(?!.*(abc|xyz).*xyz).*xyz
[/g1]
Мы использовали scmbug в течение достаточно долгого времени для соединения SVN с Bugzilla. Работавший очень хорошо, пока мы недавно не обновили до Bugzilla 3.2, который повредил интеграцию. Это берет некоторое время, чтобы scmbug команда нагнала, когда новые выпуски инструментов SCM выходят, который понятен.
Я столкнулся с scmbug. Похож на него, поднимет трубку вещи как Богомол к вещам как Подверсия.
Мы выполнили действия, указанные в вашей ссылке, с той лишь разницей, что в Windows вместо этого используется post-commit.bat. Если вы прокрутите вниз, кто-то разместит образец. Мы изменили это так, чтобы он регистрировал, какие файлы были изменены, и кто их изменил - довольно простой способ взломать командный файл. В какой-то момент мы попробовали включить различия - но довольно быстро стало очевидно, что это плохая идея из-за размера некоторых отметок.
Это работает очень хорошо, и я очень счастлив - теперь мне нужно переместить все наши материалы Sourcesafe через ...
Я использую Mantis с SVN. Примерно так, как сказано в этой ссылке, хотя я помещаю регулярное выражение в пост-фиксацию, чтобы он не пытался обновить ошибку, если сообщение фиксации не актуально, что заставляет коммиты без обновления ошибок реагировать немного быстрее.
Моя установка Mantis тоже находится на другом сервере. Я использую curl для вызова метода php в Mantis 1.1.6.
Поместите это в свой хук post-commit.cmd (вам необходимо загрузить клубничный perl и возьмите из него perl.exe и perl510.dll, все остальное вам не понадобится)
c:\tools\perl c:\tools\mantis_urlencode.pl %1 %2 > c:\temp\postcommit_mantis.txt
if %ERRORLEVEL% NEQ 0 exit /b 0
c:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://swi-sgi-l-web1.ingrnet.com/mantis/core/checkincurl.php
и поместите это в mantis_urlencode.pl
$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 . "\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;
. Если вы хотите перейти с VSS, вам придется сценарии, в том числе тот, который я написал на codeplex .
Все работает хорошо, мы используем его постоянно, и он достаточно быстр, чтобы не замечать его там. Просто введите "