Разрешение конфликтов

Конфликты могут произойти, когда вы сделали изменения в файле, который уже изменён другим разработчиком. Конфликт будет обнаружен CVS, когда вы обновляете изменённый файл. Тогда CVS попробует объединить модификации переданные другими разработчиками в вашу рабочую копию. Сбои слияния, если и ваши и другие модификации находятся в накладывающихся частях файла, сервер CVS сообщит об этой ошибке.

Теперь ваша работа состоит в том, чтобы разрешить эти конфликты перед передачей файла. CVS не позволит передать любые файлы с конфликтами, пока они не будут отредактированы. Конечно, вы имеете большие возможности при разрешении набора конфликтов. Вы можете для каждого конфликта решить выбрать одну из альтернативных версий. Вы можете также решить, что оба варианта непригодны и нарушают программу и переписать финальный файл заново.

В главном окне Cervisia, файлы с конфликтами помечены как "Конфликт" в колонке статуса и красным цветом. Для разрешения конфликта вы можете воспользоваться традиционным путём, дважды щёлкните на имени файла и отредактируйте его в текстовом редакторе. Но вы можете воспользоваться диалогом в меню ФайлРазрешение... .

Рисунок 2.2. Снимок экрана диалога разрешения Cervisia

Снимок экрана диалога разрешения Cervisia

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

Вы можете переключаться между секциями различий нажатием кнопок << и >>. В середине нижней части диалога вы можете видеть какая секция сейчас активна. Например, 2 из 8 означает что вы во второй секции из 8 (общее количество). Теперь вы можете решать какой раздел из 2 версий вы ходите иметь в финальном файле. Нажимая A, вы принимаете версию, которую вы редактировали. Нажимая B, вы принимаете версию из хранилища.