Чтобы вернуть изменения определенных ревизий в текущую локальную копию проекта, можно загрузить эти изменения и «пропатчить» ими текущие файлы.
1 |
$ svn diff file.php -r1234:1233 > r_1234_1233.diff |
Тут мы получаем в файлик все изменения, которые были при коммите 1234-ой ревизии. (Можно ненужные нам изменения убрать из файла r_1234_1233.diff)
Теперь нам необходимо внести эти изменения в текущие файлы локальной копии проекта. Это можно сделать с помощью команды patch.
1 |
$ patch -p0 < r_1234_1233.diff |
В результате мы должны получить что-то вроде
1 2 3 4 |
patching file file.php Hunk #1 succeeded at 978 (offset 30 lines). Hunk #2 succeeded at 1006 (offset 30 lines). Hunk #3 succeeded at 1161 (offset 30 lines). |
Или, если есть конфликты, вы получите сообщение об ошибке и тогда придется внимательно вносить изменения вручную.