Perl脚本中的SVN Checkout失败,找不到URL?

时间:2015-08-04 18:47:19

标签: perl svn

我正在编写一个简单的Perl脚本,试图通过SVN自动检入文件。我没有在Perl中使用任何给定的SVN客户端,为了简单起见,我只是使用命令行参数。

每当我运行下面的svn checkout命令时,我都会收到此错误:

sh[2]: svn+ssh://my/repo/url/project/trunk: not found.

这是命令和变量声明。

$svn_root = "svn+ssh://my/repo/url/project/trunk";
$user = `whoami`;
`svn checkout -q --username $user $svn_root workingCopyName`;

我应该注意到我通过SSH连接到存储库并编辑了我的配置文件(并包含-q以防万一)。我还要注意,在脚本之外运行此命令可以完全正常,对于相同的URL,并且没有-q参数。

感谢您的帮助。如果我需要清除任何内容,请告诉我。

1 个答案:

答案 0 :(得分:5)

请注意,错误来自shell,而不是svn

您正在执行

svn checkout -q --username user
svn+ssh://my/repo/url/project/trunk workingCopyName

当你想要执行时

svn checkout -q --username user svn+ssh://my/repo/url/project/trunk workingCopyName

因为$user包含换行符。取代

my $user = `whoami`;

chomp( my $user = `whoami` );