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

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

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

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

Комплекты

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

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

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

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

Режим

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

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

Макет

Макет панели Синхронизация CVS имеет три варианта: Обычный, Дерево и Сжатые папки.

Навигация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

Наборы изменений

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

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

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

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

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

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

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

Открыть

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

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

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

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

Обновляет состояние выбранных удаленных ресурсов.

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

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

Обновить

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

Внести

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

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

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

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

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

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

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

Очистить временные метки

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

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

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

Обновление

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

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

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

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

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