2015-04-07 4 views
0

Я хотел бы заменить всю свою ветку более старой версией самой. Как мне это сделать?Как заменить текущую версию svn ветви на более старую?

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

Например:

Скажем, у нас есть проект, подобный проект:

Проект "Мой проект" - филиал 2.x

  • Hello.java
  • World.java

Теперь, если мы поступим следующим образом:

  • Ветвь начинается с ревизии 100 (в качестве напоминания начальная фиксация ветки ** не содержит никаких файлов ** в списке изменений).
  • Добавляет новый файл, World.java и достичь пересмотр 101.
  • Мы модифицируем файл Hello.java и достичь правке 102
  • Мы понимаем, что изменения 101 и 102 имеют недостатки, поэтому мы хотим идти вернуться к пересмотру 100.

Как откат ветви 2.0 проекта «Мой проект» до версии 100?

Если я попытаюсь выполнить обратное слияние, ничего не произойдет, потому что первоначальная фиксация ветви не содержит никакого измененного файла.

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

ответ

0

Отклонить номер «недостатки» ревизий.

svn merge -r 102:100 . 
svn commit -m "Rollback the branch 2.0 to revision 100" 

Читайте об этом Красная книга Subversion Undoing Changes.

+0

Действительно, я немного смутился, читая документацию, но это правильный способ сделать это! Спасибо, и извините за поздний ответ! –