Синхронизация рабочей области CVS

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

Ниже приведен рисунок Синхронизация рабочей области CVS в панели Синхронизация:

Панель Синхронизация рабочей области CVS

Функции

Далее кратко описаны некоторые из функций панели Синхронизация.

Состояние синхронизации

В панели Синхронизация показано состояние синхронизации ресурсов рабочей области в сравнении с их версиями в хранилище. Это состояние помечается с помощью значков. Можно также настроить, чтобы к имени ресурса добавлялся текст. В таблице приведено описание значков:

Значок Входящее добавление Входящее добавление означает, что ресурс был добавлен в хранилище. Команда Обновить загрузит ресурс в рабочую область.
Значок Входящее изменение Входящее изменение означает, что файл был изменен в хранилище. Команда Обновить загрузит новую ревизию файла в рабочую область.
Значок Входящее удаление Входящее удаление означает, что файл был удален с сервера. Команда Обновить удалит локальный ресурс.
Значок Исходящее удаление Исходящее добавление означает, что файл был добавлен в рабочую область и пока отсутствует в хранилище. Команда Добавить и затем Внести внесет новый файл в хранилище.
Значок Исходящее изменение Исходящее изменение означает, что файл был изменен локально. Команда Внести внесет изменения в хранилище и создаст там новую ревизию файла.
Значок Исходящее удаление Исходящее удаление означает, что ресурс был удален локально. Команда Внести удалит ресурсы на сервере. Примечание: в CVS каталоги физически не удаляются из хранилища. Удаляются файлы, а пустые каталоги удаляются из рабочей области.
Значок Конфликтующее добавление Конфликтующее добавление означает, что ресурс был добавлен и локально, и на сервере.
Значок Конфликтующее изменение Конфликтующее изменение означает, что файл был изменен в и локально, и в хранилище. Требуется выполнить объединение автоматически или вручную. Все ресурсы, потомки которых содержат конфликты, также помечаются значком конфликта. Так конфликты легко обнаружить.
Значок Конфликтующее удаление Конфликтующее удаление означает, что файл был удален в и локально, и в хранилище.

Режим

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

Замечание: Рекомендуется всегда сначала обновить ресурсы в Рабочей среде, разрешить все конфликты и только потом вносить ресурсы Рабочей среды в хранилище.

Модели

На панели Синхронизация могут использоваться различные модельные представления ресурсов. Любой продукт может содержать собственный вариант представления. В составе Eclipse SDK поставляется три модели:

Навигация

Действия панели инструментов панели Синхронизация служат для перехода между изменениями в панели. Можно переходить как между файлами, так и между изменениями внутри файла.

Операции Обновить и Внести

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

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

Разрешение конфликтов всегда начинается с обновления. Операция обновления разрешит все конфликты, для которых возможно автоматическое объединение, если содержимое изменений не перекрывается. Файлы, для которых автоматическое объединение невозможно, будут пропущены. Также конфликты можно разрешить в редакторе сравнения. Откройте его двойным щелчком на конфликте (или одинарным, согласно параметрам Рабочей среды) или в контекстном меню выберите Открыть в редакторе сравнения. Редактор сравнения служит для ручного разрешения конфликтов в файле. По окончании пометьте конфликт как разрешенный, выбрав Пометить как объединенные. При этом конфликт превратится в исходящее изменение.

Маркеры неполадок

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

Панель инструментов

Синхронизировать

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

Закрепить текущую синхронизацию

Позволяет закрепить или открепить текущую синхронизацию. Закрепленные синхронизации не будут заменены следующей синхронизацией того же типа, а незакрепленные - будут. Тем самым нужная синхронизация всегда будет под рукой. Такая синхронизация будет автоматически обновляться при наличии изменений ресурсов Рабочей среды, и ее можно настроить также на обновление по расписанию, чтобы синхронизироваться с состоянием ресурсов на сервере.

Выпадающий список Модели

Этот выпадающий список содержит модели, которые можно выбрать для панели синхронизации.

Перейти к следующему отличию

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

Перейти к предыдущему отличию

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

Свернуть все

Сворачивает все развернутые записи в панели.

Входящий режим

В этом режиме показаны только ресурсы, измененные в хранилище со времени последней загрузки или синхронизации в Рабочей среде (входящие изменения).

Исходящий режим

В этом режиме показаны только ресурсы, измененные в Рабочей среде (исходящие изменения).

Входящий/исходящий режим

В этом режиме показаны и входящие, и исходящие изменения, и можно выполнить и обновление, и внесение. Преимущество этого режима в том, что можно выполнять любую задачу. Недостаток в том, что двунаправленное объединение часто бывает сложно выполнить.

Режим Конфликты

В этом режиме показаны только конфликты (ресурсы, измененные как в Рабочей среде, так и в хранилище).

Обновить все входящие изменения

Обновляет все входящие изменения, показанные в панели. Будут обновлены также все конфликты, для которых возможно автоматическое объединение. Остальные файлы будут пропущены.

Внести все исходящие изменения

Вносит в хранилище все исходящие изменения, показанные в панели. Конфликты не включаются в набор.

Выпадающее меню

В выпадающем меню можно удалить текущую или все синхронизации, изменить режим или макет, настроить текущую синхронизацию на выполнение обновлений по расписанию и настроить параметры панели.

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

В контекстное меню панели Синхронизация входят многие полезные действия.

Открыть

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

Открыть с помощью

Открывает локальный ресурс выбранного изменения в другом редакторе.

Открыть в редакторе сравнения

Открывает выбранное изменение в редакторе сравнения, в котором можно просмотреть все изменения в файле.

Синхронизировать

Обновляет состояние выбранных удаленных ресурсов. Кроме того, эта команда корректирует системное время исходящих изменений, которые уже совпадают с содержимым соответствующего ресурса на сервере (т.е. файл больше не является исходящим изменением). Это полезно тогда, когда при компоновке файл обновляется, но содержимое его не меняется.

Удалить из панели

Эта команда удаляет выбранные ресурсы из панели. Ресурсы будут показаны вновь, только если изменится состояние удаленных ресурсов или Рабочая среда будет перезапущена.

Развернуть все

Эта команда разворачивает все дочерние объекты выбранного ресурса.

Обновить

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

Внести

Вносит выбранный ресурс в хранилище. Будут внесены только исходящие изменения.

Принудительно обновить

Эта команда разрешает конфликты, заменяя все исходящие изменения и обновляя локальные данные ресурсов содержимым с сервера.

Пометить как объединенные

Эта команда изменяет временные метки CVS конфликтов, превращая их в исходящие изменения. Ее следует выполнить после ручного объединения конфликтов в редакторе сравнения.

Добавить в .cvsignore

Эта команда добавляет выбранный ресурс в список .cvsignore, в результате чего ресурс будет исключен из всех операций CVS.

Создать исправление

Эта команда запускает мастер Создать исправление и указывает в нем выбранные ресурсы.

Ветвь...

Эта команда создает ветвь и ее тег для последующего объединения с исходной ветвью.

Показать аннотацию

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

Показать хронологию

Эта команда показывает хронологию выбранного ресурса.

Изменить свойство текстовый/двоичный...

Эта команда открывает окно с полным списком выбранных ресурсов. В нем можно изменить свойство текстовый/двоичный для каждого ресурса.

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

Связанные задачи
Синхронизация с хранилищем

Обновление

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

Объединение с данными из ветви

Внесение изменений в хранилище

Сравнение ресурсов
Объединение изменений в Редакторе сравнения

Связанные справочники
CVS
Редактор сравнения