1

我正在尝试svn:externals从 bash 脚本设置属性。失败的行是:

svn propset svn:externals \'WEB-INF/src/com/project https://subversion.assembla.com/svn/myProject/branches/Release_$Version/com/project\' .

where$Version是取自命令行参数的变量。

问题是,这条线在提示符下工作正常,但在脚本中不起作用。我通过将该行回显到控制台、将其复制并粘贴到命令提示符并运行来测试这一点。它可以从提示中正常工作,但不能从脚本中正常工作。从脚本运行时,出现以下错误:

svn: E200009: Cannot mix repository and working copy targets

我已经在网上搜索了几个小时,但找不到任何答案。我有一种感觉,问题可能与用于转义 ' 字符的转义字符有关,但我不知道如何解决它。

4

1 回答 1

2

您当然可以尝试找到正确的引号和反斜杠组合,但为什么不使用临时文件呢?就像是:

cat > some_temp_file << EOF
WEB-INF/src/com/project https://subversion.assembla.com/svn/myProject/branches/Release_$Version/com/project
EOF
svn propset svn:externals --file some_temp_file
rm -f some_temp_file

请注意,我还没有测试我的代码片段。

于 2012-09-13T09:33:36.637 回答