我正在编写 Perl 脚本来在Windows机器上进行 SVN 预提交检查,并且我使用 VisualSVN Server。
这是代码:
预提交.bat
C:\Perl\bin\perl.exe D:\Repositories\iCP\hooks\pre-commit.pl %1 %2
exit %ERRORLEVEL%
预提交.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 log”结果重定向到 res.txt,然后我可以从这个文件中读取。
但是当我从 TortoiseSVN 提交时,perl 脚本因“无法完成 System():不适当的 IO 控制操作”而死,我不知道出了什么问题。
提前感谢您的帮助。