genbodev
8/7/2018 - 3:14 PM

Шпаргалка svn

Еще больше информации: https://eax.me/svn-commands/ Подробное руководство: http://svnbook.red-bean.com/

Инициализация
---------------------------------------------------------------
cd c:\OSPanel\domains\starliner.local\
svn checkout http://source/trunk .
Точка в конце это текущий каталог (starliner.local)
Пример: 
svn checkout https://svn.starliner.ru:60843/starliner/trunk .

Аналог в TortoiseSVN:
ПКМ - SVN Checkout
Смотрим откуда REPOSITORY и куда CHECKOUT DIRECTORY
Обычно берется trunk и его содержимое сливается в нужный каталог
Пример: из http://svn.starliner.ru:60805/starliner/trunk в C:\OSPanel\domains\starliner.local

Создание ветки. Происходит (почти всегда) из trunk
---------------------------------------------------------------
svn copy http://source/trunk http://source/branch/branch_name
svn copy http://source/trunk http://source/branch/branch_name -m "Комментарий" // С комментарием
Пример:
svn copy http://svn.starliner.ru:60805/starliner/trunk/ http://svn.starliner.ru:60805/starliner/branch/321683_regional_hotels_incorrect_info_breakfast -m "refs #321683 Региональные гостиницы:
неверная информация о завтраке"

Аналог в TortoiseSVN:
TortoiseSVN -> Branch/Tag
Смотрим на откуда FROM и куда TO
Log message - это комментарий

Переключение на нужную ветку
---------------------------------------------------------------
svn switch http://source/branch/branch_name
Пример:
svn switch http://svn.starliner.ru:60805/starliner/branch/321683_regional_hotels_incorrect_info_breakfast

Аналог в TortoiseSVN:
TortoiseSVN -> Switch
Смотрим откуда Source URL и куда DISTINATION URL

Проверка на какой мы ветке
---------------------------------------------------------------
svn info
> URL покажет ветку

Аналог в TortoiseSVN:
TortoiseSVN -> Switch
Смотрим SWITCH
-или-
TortoiseSVN -> Repo-browser
Смотрим URL

Просмотр списка веток
---------------------------------------------------------------
svn ls http://svn.starliner.ru:60805/starliner
Обычно svn ls http://svn.starliner.ru:60805/starliner/branch

Удаление ветки
---------------------------------------------------------------
svn delete http://svn.starliner.ru:60805/starliner/branch/test-branch -m "Removing test-branch"

Откат изменений
---------------------------------------------------------------
svn revert --recursive или svn revert -R //  Откатит всё (рекурсивная операция)
svn revert C:\OSPanel\domains\starliner.local\skins\default\settings\assetic.yml //  Откатит конкретный файл

Аналог в TortoiseSVN:
TortoiseSVN -> Revert

Создание патча (сохранение изменений) и его применение
---------------------------------------------------------------
!возможны проблемы с сохранением изменений дерева (перемещение, переименование, создание и удаление файлов и каталогов)
!возможны проблемы с бинарными файлами
!известно точно, что переименование или перемещение патчем не отслеживается

svn diff > name_patch.patch

Аналог в TortoiseSVN:
TortoiseSVN -> Create patch

svn patch name_patch.patch // Должен отследить создание и удаление файлов
svn patch -p0 < name_patch.patch

Аналог в TortoiseSVN:
TortoiseSVN -> Apply patch

Merge с транком через консоль:
C:\OSPanel\domains\starliner.local>svn merge https://svn.starliner.ru:60843/starliner/trunk

commit + push
svn commit -m 'Your comment here'