Я писал Perl-скрипт для предварительной проверки SVN на компьютере с Windows и использую VisualSVN Server.
Вот код:
pre-commit.bat
C:\Perl\bin\perl.exe D:\Repositories\iCP\hooks\pre-commit.pl %1 %2
exit %ERRORLEVEL%
pre-commit.pl
#!/usr/bin/perl
use strict;
use warnings;
my $repos = $ARGV[0];
my $txn = $ARGV[1];
my $svnlook = "D:\\svnlook.exe";
my $hooks = "D:\\Repositories\\iCP\\hooks";
if(system("$svnlook log -t $txn $repos >$hooks\\res.txt"))
{
die "Unable to finish system(): $!\n";
}
....
По сути, я хочу, чтобы результат «журнала svnlook» был перенаправлен на res.txt, тогда я смогу читать из этого файла.
Но когда я делаю фиксацию из TortoiseSVN, сценарий perl умирает с сообщением «Невозможно завершить System(): несоответствующая операция управления вводом-выводом», я не знаю, что пошло не так.
Заранее благодарны за Вашу помощь.
>$hooks...
)? - person harpun   schedule 27.01.2013