svn edit использование командной строки для замены старого внешнего на новое внешнее - PullRequest
2 голосов
/ 16 апреля 2019

У меня внешний SVN, определенный как ^/project/subproj1/subproj2/subproj3/trunk@revision lib, который необходимо заменить на ^/project/subproj1/subproj2/subproj3/tags/tagname lib

Я попытался использовать приведенную ниже команду, которая не работает.

svn propedit svn:externals --editor-cmd "(echo /project/subproj1/subproj2/subproj3/tags/tagname lib) >" 
http://myname.com/project/subproj1/subproj2/subproj3/tags/subproj3tag/system -m "Test tag"

1 Ответ

0 голосов
/ 17 апреля 2019

Я бы сначала сбросил свойство svn:externals в текстовый файл:

svn propget svn:externals . > externals.txt

... затем внесите изменения в файл с помощью sed:

sed -i 's/trunk@revision/tags\/tagname/' externals.txt

... и, наконец, снова установите измененное свойство:

svn propset svn:externals . -F externals.txt

Если вы чувствуете себя предприимчивым, вы можете даже сделать это в одной командной строке:

svn pg svn:externals . | sed 's/trunk@revision/tags\/tagname/' | svn ps svn:externals . -F -
...