SVN - удалить ревизию или сделать более старую ревизию головой - PullRequest
12 голосов
/ 07 октября 2010

Я довольно новичок в SVN, и мне никогда не приходилось возвращаться к предыдущей ревизии, хотя я могу получить копию ревизии из репозитория. Я использую TortoiseSVN и плагин Visual Studio SVN.

Я бы хотел восстановить багажник до предыдущей версии.

Как я могу восстановить багажник - например, откат к предыдущей ревизии и сделать это головой?

спасибо

Ответы [ 3 ]

13 голосов
/ 07 октября 2010

Вам нужно так называемое обратное слияние:

svn merge -r HEAD:<rev_you_want_to_revert_to>

См. документацию по слиянию Tortoise SVN для получения подробной информации о том, как сделать это с помощью Tortoise SVN. Также см. книгу SVN (скопированная ссылка из другой вопрос StackOverflow ; на самом деле это часто задаваемые вопросы).

12 голосов
/ 07 октября 2010

Самый простой способ сделать это с помощью TortoiseSVN:

  • показать журнал рабочей копии (открывает диалог журнала)
  • выбрать ревизию, которую вы хотите отменить, или ревизиюк которому вы хотите вернуться к
  • , щелкните правой кнопкой мыши по этой ревизии, затем выберите «вернуть элемент к этой ревизии» или «отменить изменения из этой ревизии».

Перваяиз этих двух команд возвращает рабочую копию в состояние, в котором она находилась в этой ревизии, в то время как последняя возвращает только изменения этой конкретной ревизии, не возвращая также и более поздние изменения.

1 голос
/ 07 октября 2010

Это обычное использование для svn merge.
Вам необходимо указать обратную разницу (например, --revision 303:302 или эквивалент --change -303):

 svn merge -c -303 http://svn.example.com/repos/calc/trunk
...