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

AKo*_*Kon 0 svn perl

我正在编写一个简单的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`;
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的帮助.如果我需要清除任何内容,请告诉我.

ike*_*ami 5

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

你正在执行

svn checkout -q --username user
svn+ssh://my/repo/url/project/trunk workingCopyName
Run Code Online (Sandbox Code Playgroud)

当你的意思是执行

svn checkout -q --username user svn+ssh://my/repo/url/project/trunk workingCopyName
Run Code Online (Sandbox Code Playgroud)

因为$user包含换行符.更换

my $user = `whoami`;
Run Code Online (Sandbox Code Playgroud)

chomp( my $user = `whoami` );
Run Code Online (Sandbox Code Playgroud)