Работа с SVN через TortoiseSVN. 2. Просмотр изменений, обновление, слияние

В первой частиopen in new window была описана выгрузка и фиксация в репозиторий. В этой части к работе подключается Вася и вносит новые изменения.

Просмотр изменений

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

Теперь Вася хочет посмотреть что именно менял Петя в репозитории. Для этого он открывает Журнал, и делает в нем двойном клик на файле который его интересует.

TortoiseSVN журнал

TortoiseSVN diff

Сразу видно что Петя вынес весь код в отдельную функцию. Увидев это Вася решил внести новые изменения в код. Он изменяет файл main.py и фиксирует.

def hello(name): if name == None: print('hello!') else: print('hello ' + name + '!')

hello()

TortoiseSVN диалог фиксации

Через некоторое время Петя решил проверить состояние репозитория. Для этого он открывает Журнал и видит новую фиксацию Васи

TortoiseSVN журнал

Для обновления рабочей копии Петя нажимает Обновить

TortoiseSVN запуск обновления рабочей копии

TortoiseSVN обновление успешно завершено!

Теперь в рабочей копии последняя версия файла main.py. Петя замечает что программа перестала работать, исправляет ошибку и фиксирует файл.

def hello(name): if name == None: print('hello!') else: print('hello ' + name + '!')

hello('Petya')

TortoiseSVN диалог фиксации

Через некоторое время к проекту возвращается Вася и решает добавить новую функцию. Но он забывает обновится перед началом редактирования и изменяет устаревший файл, который не содержит изменений Пети.

def hello(name): if name == None: print('hello!') else: print('hello ' + name + '!')

def hello2(name1, name2): hello(name1) hello(name2)

hello()

и фиксирует его

TortoiseSVN диалог фиксации

фиксация не удается. SVN обнаруживает что Вася не обновился и редактировал старую версию файла.

TortoiseSVN неудачная фиксация

Вася нажимает ОК и TortoiseSVN предлагает ему автоматически обновится.

TortoiseSVN диалог обновления перед фиксацией

Вася нажимает Обновить. Появляется окно обновления в котором написано что SVN автоматически слил изменения - объединил изменения Пети из репозитория и Васи в рабочей копии в одном файле.

TortoiseSVN обновление

После нажатия ОК снова появляется окно фиксации.

TortoiseSVN фиксация

В этот раз фиксация Васи проходит удачно.

TortoiseSVN успешная фиксация

Последниее изменение: 24.08.2023, 06:42:55