Работа с SVN через TortoiseSVN. 3. Конфликты

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

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

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

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

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

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

Сообщение о неудачной фиксации

Петя нажимает ОК, и выбирает Обновить

Диалог Обновить или отменить?

В этот раз слияние не удалось, ведь Петя редактировал туже самую строку изменения в которой зафиксировал недавно Вася.

Сообщение о конфликте при фиксации

После нажатия ОК снова появляется окно фиксации. Только файл в котором возник конфликт изменений выделен красным цветом.

Диалог фиксации при возникновении конфликта

Теперь чтобы зафиксировать нужно разрешить конфликт. Петя делает двойной клик на файле и открывается редактор конфликтов.

Окно TortoiseMerge во время редактирования конфликта

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

Контекстное меню TrtoiseMerge

Результирующий файл в TortoiseMerge

Кроме приветствия Петя добавил в код еще одну строку. Её тоже нужно поместить в результирующий файл
Контекстное меню TrtoiseMerge

Результирующий файл в TortoiseMerge

Больше конфликтов в файле нет. Петя отмечает что конфликты улажены и закрывает файл.

Кнопка Пометить как улаженный

В окне фиксации файл перестал выделятся красным — в нем больше нет конфликтов.

Диалог фиксации TortoiseSVN после улаживания конфликта

Петя изменяет комментарий, отмечает файл и фиксирует изменения.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *