我正在尝试从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
我在网上搜了好几个小时但找不到任何答案。我有一种感觉,问题可能与用于逃避'角色的转义字符有关,但我不确定如何解决它。
答案 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
请注意,我尚未测试我的代码段。