我试图创建一个脚本来解析 svn 中特定修订的日志,并从该日志中获取详细信息,如作者姓名、受影响的底层路径和执行的操作。我正在尝试在带有反引号的 perl 中使用以下命令:
TortoiseProc.exe /command:log /path:"$svn_path" /startrev:"$svn_rev" /endrev:"$svn_rev" /outfile:$file
;
对于 outfile 选项,它被指定为/outfile:path\to\file。我尝试了很多组合来获得正确的语法,但没有创建日志文件。我试过了
/outfile:D:\other\to\filename.txt
我什至尝试只把文件名放在那里,认为它会在同一个目录中创建,尝试只给出路径,甚至尝试自己创建文件等待它写入。什么都不管用。任何帮助将不胜感激。
最佳答案
Perl 和大多数 shell 中的反斜杠需要正确引用。检查 cmd.log 文件并调整反斜杠的数量,直到它正常工作
my $file = "D:\\\\other\\\\to\\\\filename.txt";
open my $fh,'>','cmd.log' or die $!;
print $fh "TortoiseProc.exe /command:log /path:\"$svn_path\" /startrev:\"$svn_rev\" /endrev:\"$svn_rev\" /outfile:\"$file\"\r\n";
close($fh);
my $out = `TortoiseProc.exe /command:log /path:"$svn_path" /startrev:"$svn_rev" /endrev:"$svn_rev" /outfile:"$file"`;
关于perl - 使用 TortoiseProc.exe 将日志消息从 Tortoise svn 转储到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392303/