2012-06-20 3 views
1

Как я могу вернуть фиксацию, имеющую следующую ситуацию?Возврат фиксации в SVN?

Revision 3, Commit Message 
Revision 2, Commit Message 
Revision 1, Commit Message 

Редакция 2 является плохой фиксацией, и я хочу ее удалить. Как?

ответ

5

Вы можете отменить совершающие через обратное слияние в SVN:

Если у вас есть рабочая копия, которая извлечена из ствола:

svn merge -c -2 URL/trunk 

Это будет отменить изменения, внесенные в ревизии 2 и оставить рабочую копию с изменениями, которые необходимо выполнить.

Это не изменит историю, потому что в SVN невозможно изменить историю уже проверенных версий. Только с помощью цикла дампа/нагрузки на сервере репозитория можно полностью удалить ревизию, которую я не могу рекомендовать.

+0

Что произойдет с 3 и 1? – vinnylinux

+0

Они останутся нетронутыми. Вы получаете только deltas от rev 1 до 2 и применяете их в обратном порядке на своей рабочей копии. Вот и все. – khmarbaise

2

На кассе:

svn merge -r2:1 path/to/checkout 
    svn ci -m'Undo changes in rev 2 ' path/to/checkout 

Если вы хотите полностью из репо, вам нужно сбросить, фильтр & загрузить его в новую на репо-сервере.

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