ulanbatir (ulanbatir) wrote,
ulanbatir
ulanbatir

Category:

SVN: разница между двумя Revert-ами


Долгое время я путался между значениями "Revert to this revision" и "Revert changes from this revision". Сегодня вечером меня в конец достала эта не определенность, и я решил досконально разобраться в вопросе. Результат своих трудов выкладываю для добрых людей, возможно кто-то тоже задается этим вопросом, а времени разбираться нет.

Рассмотрим историю файла text.txt в течении 4 рех  ревизий. И проанализируем какая разница в откате назад используя "Revert to this revision" и "Revert changes from this revision".




ревизия 100:


мы добавляем файл text.txt,  этот файл содержит 3 строчки. В каждой строчке для наглядности будет записано в какой ревизии мы ее поменяли. Изначально файл выглядит следующим образом

Файл test.txt


== Start file ==
1 at revision 100
2 at revision 100
3 at revision 100
== End file ==

Изменения за ревизию 100:


Добавили файл test.txt




ревизия 101:


Файл test.txt


== Start file ==
1 at revision 100
2 at revision 100
3 сhange 101
== End file ==

Изменения за ревизию 101:


Изменили 3ю строку




ревизия 102:


Файл test.txt


== Start file ==
1 at revision 100
2 change 102
3 сhange 101
== End file ==

Изменения за ревизию 102:


Изменили 2ую строку




ревизия 103:


Файл test.txt


== Start file ==
1 сhange 103
2 change 102
3 сhange 101
== End file ==

Изменения за ревизию 103:


Изменили 1ую строку




Revert to this revision - банальный возврат назад



Теперь собственно о разнице двух Revert-ов. С "Revert to this revision" все элементарно, мы просто возвращаемся назад. Ни каких хитростей, получаем то состояние директории или файла какое было в выбранной ревизии.



Текущая ревизия в working copy 103Действие
Результат:
полный возврат к  файлу
ревизии 102
== Start file ==
1 сhange 103
2 change 102
3 сhange 101
== End file ==
"Revert to this revision" к ревизи 102== Start file ==
1 at revision 100
2 change 102
3 сhange 101
== End file ==



Revert changes from this revision - меняем только строки затронутые выбранной ревизией.



Сей час мы находимся на ревизии 103. Применим  "Revert changes from this revision" для ревизии 102. Это означает, что обрабатываться будут только строки измененные в ревизии 102. Задействованные строки будут возвращены в состояние предшествующее ревизии 102. 

По сути это откат строк измененных в 102 ревизии к состоянию на момент 101 ревизии.

Щелкаем кнопочку на N ревизии, а в файле будут строки из N-1, потому  что  отменяем изменения.

Текущая ревизия в working copy 103

 Действие
Результат:
откат строк задействованных в 102
к состоянию ревизии 101

== Start file ==
1 сhange 103
2 change 102
3 сhange 101
== End file ==
"Revert changes from this revision"
к ревизии 102
== Start file ==
3 сhange 103
2 at revision 100
3 сhange 101
== End file ==

 Ну вот, теперь все чисто и прозрачно.  Успеха.
Tags: js, programming, точки над i
Subscribe

  • Ответ Косарексу №2

    на страницу: http://kosarex.livejournal.com/2211201.html Девушка боиться, девушка хочет чтоб ей сказали какая она красивая и как ее любятю.…

  • Ubuntu на десктопе это как кусок дерьма на столе.

    Вчера у меня посыпался жесткий диск НDD Segage, сделав upgrade на новый SSD диск я решил поставить Ubuntu Linux. То что оболочки для линукс сырое…

  • ACUPAT

    Много копий сломано в обуждении камуфляжа ACUPAT. Мол плохой, плохо маскирует, не работает в лесу и т.д. и т.п. Потому как данный камуфляж был…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments