2013-09-17 4 views
5

У меня есть проблема с настройкой (или изменением) определения svn:externals в моей локальной svn рабочей копии. ПервыеОшибка при установке свойства svn externals

svn propget svn:externals 

перечислены следующие:

https://path/to/mytool/tags/1.0.8 mytool 

Я хочу, чтобы изменить это свойство, так что указывает на тег с номером ревизии 1.0.9. Я попытался следующие:

svn propset svn:externals https://path/to/mytool/tags/1.0.9 mytool 
svn: Error parsing svn:externals property on 'mytool': 'https://path/to/mytool/tags/1.0.9' 

и

svn propset mytool svn:externals https://path/to/mytool/tags/1.0.9 
svn: Setting property on non-local target 'https://path/to/mytool/tags/1.0.9' needs a base revision 

и тот же вышеперечисленное с URL и целевой каталог, установленного в кавычки (как найдено в ответ на одной и той же проблемы), которые оба урожая a)

svn: Explicit target required ('https://path/to/mytool/tags/1.0.9 mytool' interpreted as prop value) 

Так что, черт возьми, я делаю неправильно? Как правильно изменить свойство. svn help здесь действительно не помогает ...

Приложение: С svn propedit svn:externals . он работает. Я могу изменить это свойство, которое я могу зафиксировать сейчас. Но propset, похоже, не работает.

ответ

6

Вы должны указать PROPVAL в форме TARGET-DIRECTORY EXTERNAL-PATH и установить его в родительском каталоге TARGET-DIRECTORY. Таким образом, в вашем примере, что было бы ...

svn propset svn:externals "mytool https://path/to/mytool/tags/1.0.9" . 

... будет выполняться в директории родителя в каталог под названием mytool.

Обновление: Чтобы сделать это с помощью нескольких строк, обычный подход, который я использую, заключается в том, чтобы записать свойства в файл, например. externals.txt, а затем установить его с

svn propset svn:externals -F externals.txt . 

Под Linux вы можете также уйти с this one-liner, но я не знаю о аналог Win32 для этого.

SVN не особенно блистает, когда дело доходит до этой задачи:/

+0

Хорошо спасибо за это разъяснение. Но когда мне нужно установить несколько внешних элементов, я попробовал что-то вроде 'svn propset svn: externals 'mytool https: //path/to/mytool/tags/1.0.9 \ nothertool https: // path/to/my/othertool/теги/2.4.2 ".", дающие ошибку синтаксического анализа. Но, согласно помощи, это должно работать так ... – Alex

Смежные вопросы