Синхронизация рабочей области CVS запускается с помощью меню Совместная работа > Синхронизировать или кнопкой Синхронизировать панели инструментов проекции Совместная работа. Она будет показана в панели Синхронизация. В этой панели можно просмотреть различия между локальными ресурсами Рабочей среды и их удаленными версиями, а также обновить ресурсы Рабочей среды и внести их в хранилище.
Ниже приведен рисунок Синхронизация рабочей области CVS в панели Синхронизация:
В панели Синхронизация показано состояние синхронизации ресурсов рабочей области в сравнении с их версиями в хранилище. Это состояние помечается с помощью значков. Можно также настроить, чтобы к имени ресурса добавлялся текст. В таблице приведено описание значков:
![]() |
Входящее добавление означает, что ресурс был добавлен в хранилище. Команда Обновить загрузит ресурс в рабочую область. |
![]() |
Входящее изменение означает, что файл был изменен в хранилище. Команда Обновить загрузит новую ревизию файла в рабочую область. |
![]() |
Входящее удаление означает, что файл был удален с сервера. Команда Обновить удалит локальный ресурс. |
![]() |
Исходящее добавление означает, что файл был добавлен в рабочую область и пока отсутствует в хранилище. Команда Добавить и затем Внести внесет новый файл в хранилище. |
![]() |
Исходящее изменение означает, что файл был изменен локально. Команда Внести внесет изменения в хранилище и создаст там новую ревизию файла. |
![]() |
Исходящее удаление означает, что ресурс был удален локально. Команда Внести удалит ресурсы на сервере. Примечание: в CVS каталоги физически не удаляются из хранилища. Удаляются файлы, а пустые каталоги удаляются из рабочей области. |
![]() |
Конфликтующее добавление означает, что ресурс был добавлен и локально, и на сервере. |
![]() |
Конфликтующее изменение означает, что файл был изменен в и локально, и в хранилище. Требуется выполнить объединение автоматически или вручную. Все ресурсы, потомки которых содержат конфликты, также помечаются значком конфликта. Так конфликты легко обнаружить. |
![]() |
Конфликтующее удаление означает, что файл был удален в и локально, и в хранилище. |
Режимы панели Синхронизация позволяют отфильтровать ее. Для этого служат панель инструментов или пункты выпадающего меню панели. В этих режимах будут показаны только входящие, исходящие или конфликтующие изменения. Ниже перечислены преимущества работа с режимами:
Замечание: Рекомендуется всегда сначала обновить ресурсы в Рабочей среде, разрешить все конфликты и только потом вносить ресурсы Рабочей среды в хранилище.
Макет панели Синхронизация CVS имеет три варианта: Обычный, Дерево и Сжатые папки.
Операции обновить и внести в панели Синхронизация можно выполнить по-разному. Можно обновить и внести все изменения или их часть обычным образом. Можно также принудительно обновить, игнорируя все локальные изменения, или принудительно внести, после чего удаленный ресурс будет точной копией локального. Можно очистить временные метки файлов, которые были изменены локально, например, при компоновке внешними инструментами, но содержимое которых совпадает с содержимым на сервере.
Разрешение конфликтов всегда начинается с обновления. Операция обновления разрешит все конфликты, для которых возможно автоматическое объединение, если содержимое изменений не перекрывается. Файлы, для которых автоматическое объединение невозможно, будут пропущены. Также конфликты можно разрешить в редакторе сравнения. Откройте его двойным щелчком на конфликте (или одинарным, согласно параметрам Рабочей среды) или в контекстном меню выберите Открыть в редакторе сравнения. Редактор сравнения служит для ручного разрешения конфликтов в файле. По окончании пометьте конфликт как разрешенный, выбрав Пометить как объединенные. При этом конфликт превратится в исходящее изменение.
В панели Синхронизация будут показаны маркеры неполадок ошибка или предупреждение, если в панели или любой ее папке или проекте имеется ресурс, содержащий ошибки или предупреждения. Это служит для предотвращения внесения в хранилище ресурсов, содержащих ошибки.
Позволяет повторить текущую синхронизацию, которая повторно опрашивает состояние удаленных ресурсов. В выпадающем меню элемента панели инструментов можно выбрать другие синхронизации или создать новые с помощью команды Синхронизировать....
Позволяет закрепить или открепить текущую синхронизацию. Закрепленные синхронизации не будут заменены следующей синхронизацией того же типа, а незакрепленные - будут. Тем самым нужная синхронизация всегда будет под рукой. Такая синхронизация будет автоматически обновляться при наличии изменений ресурсов Рабочей среды, и ее можно настроить также на обновление по расписанию, чтобы синхронизироваться с состоянием ресурсов на сервере.
Перейти к следующему отличию, показанному в панели. Переход осуществляется по изменениям внутри одного и того же файла, а потом открывается следующий файл в панели.
Перейти к предыдущему отличию, показанному в панели. Переход осуществляется по изменениям внутри одного и того же файла, а потом открывается предыдущий файл в панели.
Сворачивает все развернутые записи в панели.
В этом режиме показаны только ресурсы, измененные в хранилище со времени последней загрузки или синхронизации в Рабочей среде (входящие изменения).
В этом режиме показаны только ресурсы, измененные в Рабочей среде (исходящие изменения).
В этом режиме показаны и входящие, и исходящие изменения, и можно выполнить и обновление, и внесение. Преимущество этого режима в том, что можно выполнять любую задачу. Недостаток в том, что двунаправленное объединение часто бывает сложно выполнить.
В этом режиме показаны только конфликты (ресурсы, измененные как в Рабочей среде, так и в хранилище).
Обновляет все входящие изменения, показанные в панели. Будут обновлены также все конфликты, для которых возможно автоматическое объединение. Остальные файлы будут пропущены.
Вносит в хранилище все исходящие изменения, показанные в панели. Конфликты не включаются в набор.
Наборы изменений можно включить как для входящего, так и для исходящего режима.
В выпадающем меню можно удалить текущую или все синхронизации, изменить режим или макет, настроить текущую синхронизацию на выполнение обновлений по расписанию и настроить параметры панели.
В контекстное меню панели Синхронизация входят многие полезные действия.
Открывает выбранное изменение в редакторе сравнения, в котором можно просмотреть все изменения в файле.
Открывает локальный ресурс выбранного изменения в редакторе Рабочей среды по умолчанию для этого типа файла.
Открывает локальный ресурс выбранного изменения в другом редакторе.
Обновляет состояние выбранных удаленных ресурсов.
Эта команда удаляет выбранные ресурсы из панели. Ресурсы будут показаны вновь, только если изменится состояние удаленных ресурсов или Рабочая среда будет перезапущена.
Обновляет выбранный ресурс. В обновление можно включить и конфликты, но обновлены будут только конфликты, для которых возможно автоматическое объединение. Конфликты, для которых невозможно автоматическое объединение, будут пропущены и должны быть объединены вручную в редакторе сравнения.
Вносит выбранный ресурс в хранилище. Будут внесены только исходящие изменения.
Эта команда разрешает конфликты, заменяя все исходящие изменения и обновляя локальные данные ресурсов содержимым с сервера.
Эта команда разрешает конфликты, внося все изменения в хранилище и обновляя данные ресурсов на сервере.
Эта команда изменяет временные метки CVS конфликтов, превращая их в исходящие изменения. Ее следует выполнить после ручного объединения конфликтов в редакторе сравнения.
Эта команда изменяет временные метки исходящих изменений, содержимое которых уже совпадает с содержимым ресурсов на сервере. После этого файл не будет содержать исходящих изменений. Это полезно тогда, когда при компоновке файл обновляется, но содержимое его не меняется.
Коллективное программирование с помощью CVS
Синхронизация с хранилищем CVS
Синхронизация с хранилищем
Обновление
Разрешение конфликтов
Объединение с данными из ветви
Внесение изменений в хранилище
Сравнение ресурсов
Объединение изменений в Редакторе сравнения