从脚本设置svn:externals

时间:2012-09-13 09:14:31

标签: bash svn svn-externals svn-propset

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

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

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

麻烦的是,这行在提示符下工作正常,但在脚本中不起作用。我通过将行回显到控制台,将其复制并粘贴到命令提示符并运行来测试它。它在提示符下运行正常但不是从脚本运行。从脚本运行时,我收到以下错误:

svn: E200009: Cannot mix repository and working copy targets

我在网上搜了好几个小时但找不到任何答案。我有一种感觉,问题可能与用于逃避'角色的转义字符有关,但我不确定如何解决它。

1 个答案:

答案 0 :(得分: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

请注意,我尚未测试我的代码段。