2011-12-21 2 views
0

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

Мой СВН версия СВН, версия 1.6.17 (r1128011)

+0

Вы используете SVN 1.7? или какую версию вы используете? Были внесены большие изменения в обработку локальных копий в версии 1.7 – jdehaan

+0

@jdehaan. –

ответ

3

Допустим, вы находитесь в ORIGINATING_BRANCH и версия файла, который вы заинтересованы в том, в TARGET_BRANCH

Я бы сделать это следующим образом:

svn switch https://%REPO%/branches/%TARGET_BRANCH%/%DIR%/%FILE% -r %VERSION% %FILE% 

Если вы хотите, чтобы совершить его обратно в начальной ветви, вам необходимо переключиться обратно:

svn switch https://%REPO%/branches/%ORIGINATING_BRANCH%/%DIR%/%FILE% %FILE% 
svn commit %FILE% -m "%MESSAGE%" 

Будьте внимательны: на втором коммутаторе вам нужно будет объединить обе версии (старые с новыми модификациями и другую), чтобы вы лучше сохранили резервную копию своих изменений перед возвратом.

Если вы хотите использовать SVN слияние просто сделать что-то вроде:

svn merge https://%REPO%/branches/%TARGET_BRANCH%/%DIR%/%FILE%@version https://%REPO%/branches/%ORIGINATING_BRANCH%/%DIR%/%FILE% 
+0

Что делать, если я хочу передать текущую коммутируемую ветку? –

+0

С текущей коммутируемой ветвью вы имеете в виду ORIGINATING_BRANCH или TARGET_BRANCH? Если он находится в ORIGINATING_BRANCH, я ответил на него в редакции. – Sirs

+0

Да, я имел в виду отправную ветвь. Можем ли мы каким-то образом использовать svn merge для достижения такой же цели, т. К. Моя рабочая копия будет такой же, как предыдущая ветвь релиза? –