2015-05-13 5 views
0

Предположим, у меня есть багажник с ревизиями от 1 до 20. Я удаляю код с ревизий от 15 до 20 с багажника с использованием обратного слияния. Теперь, в багажнике, у меня есть код до ревизии 14.tortoisesvn возврат обратно код версии

Если мне нужно вернуть ревизию 18 в багажник, как мне это сделать?

+0

возможно дубликат [SVN: Как вернуть кого-то else's commit?] (http://stackoverflow.com/questions/28266893/svn-how-to-revert-somebody-elses-commit) – alroc

+0

Я уверен, что это то же самое - обратное слияние. – alroc

+0

Я попробовал это, используя оба флажка, установив флажок «обратное слияние» и сняв флажок. Я получил сообщение «Слияние: изменений не найдено». – Peter

ответ

3

В то время как вы можете каким-либо образом создать слияние, верным способом является создание патча из ревизии, которую вы хотите восстановить, и применить этот патч к HEAD вашего репозитория.

  1. В диалоговом окне «Показать журнал» щелкните правой кнопкой мыши ревизию, которую вы хотите восстановить.
  2. Выберите «Показать изменения как унифицированный diff» в меню.
  3. Сохраните полученный diff в файле исправления в корневой папке рабочей копии.
  4. правой кнопкой мыши на файл патча и выберите TortoiseSVN → «Применить патч ...»
  5. патч и сохранить все файлы
  6. Зафиксируйте изменения
+2

Патч определенно будет работать. Единственное предостережение заключается в том, что вы потеряли историю в репозитории, в которой говорится: «Эта версия является результатом изменений в версии 18, которые переделываются/поддерживаются». Если это не критично (и это, вероятно, имеет место для большого числа пользователей), то слияние не требуется. – alroc

+0

Thanks Ben and alroc – Peter

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