perl - 使用 TortoiseProc.exe 将日志消息从 Tortoise svn 转储到文件

标签 perl svn tortoisesvn

我试图创建一个脚本来解析 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/

相关文章:

svn - TortoiseSVN 清理实际上做了什么?

svn - 是否可以部分恢复 SVN 中的合并

svn - TortoiseSVN 存储库浏览器不工作

python - 寻找图书馆阅读 iPod 的数据库

perl - 如何设置我的 Dockerfile 以使用 cpanm 安装特定版本的 Perl 模块?

windows - 颠覆客户端应用程序

svn - 安装了 Visual SVN 服务器,除了我在 SVN checkout 时收到此消息

Perl 如何从数组的哈希中检索数组?

ajax - 如何检查 Mojolicious Perl 中的 Ajax?

eclipse - 将现有的SVN项目导入Eclipse