Установить SVN: внешние из скрипта
Я пытаюсь установить svn:externals
свойство из bash-скрипта. Строка, которая терпит неудачу:
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
Я искал в сети часами, но не могу найти ответы. У меня есть ощущение, что проблема может быть связана с escape-символами, используемыми для экранирования "персонажа", но я не уверен, как это исправить.
1 ответ
Конечно, вы можете попытаться найти правильную комбинацию кавычек и обратной косой черты, но почему бы не использовать вместо этого временный файл? Что-то вроде:
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
Обратите внимание, что я не проверял мой фрагмент.