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

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

Обычно следует воспользоваться именно этим вариантом во избежание потерь данных при выборе двух других вариантов.

Объединение изменений вручную

В панели Синхронизация показано, какие ресурсы конфликтуют с ресурсами ветви. Обычно эти конфликты разрешаются тем, что изменения объединяются с изменениями ресурса ветви.

Например, вы изменили страницу html, над которой работает также и другой разработчик. Если открыть этот ресурс в панели Синхронизация, то будет показано сравнение локального ресурса и его ревизии в ветви. Пройдя по всем изменениям, вы сможете принять входящие изменения, отклонить их или объединить с локальными изменениями. Закончив объединение, сохраните изменения. При этом локальный ресурс будет заменен результатом объединения. После этого этот ресурс можно будет внести в хранилище.

Совет: Часто при объединении удобно отличать файлы, для которых объединение уже выполнено. Завершив объединение lzk файла, выберите в контекстном меню Пометить как объединенный. При этом статус файла будет изменен - вместо конфликта он будет показан как исходящее изменение.

Объединить различия в панели Синхронизация можно на двух уровнях:

Автоматическое объединение изменений

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

Обновление в панели Синхронизация работает немного по-другому. В случае конфликта будут обработаны только файлы, в которых нет конфликтов. Файлы с конфликтами будут пропущены и помечены в панели Синхронизация как содержащие конфликты.

 Связанные концепции
Коллективное программирование с помощью CVS
Синхронизация с хранилищем CVS
Сравнение трех версий

Связанные задачи
Синхронизация с хранилищем
Обновление
Внесение изменений на сервер
Объединение с данными из ветви
Сравнение ресурсов
Объединение изменений в Редакторе сравнения

Связанные справочники
www.cvshome.org: Bringing a file up to date
www.cvshome.org: Conflicts example
Редактор сравнения