Работа с исправлениями

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

Для того чтобы создать исправление из проекта CVS, выполните следующие действия:

  1. Выберите ресурс, содержащий изменения, которые будут включены в исправление. Хотя это может быть любая папка, проще всего выбрать проект в целом, потому что исправление должно быть установлено по отношению к тому же самому ресурсу, на основе которого оно было создано. Исправление следует устанавливать для тех же ревизий файлов, на основе которых оно было создано. Поэтому следует убедиться, что исправление применяется для того же самого среза ресурсов. Проще всего это достигается при создании исправления на основе версии.
  2. В выпадающем меню выберите Совместная работа > Создать исправление.... Откроется мастер Создать исправление.
  3. Укажите, где следует сохранить исправление:
    1. Сохранить в буфере обмена - исправление будет помещено в буфер обмена, откуда его можно будет вставить в текстовый редактор, например, в сообщение электронной почты.
    2. Сохранить в файле - исправление будет сохранено в заданном файле локальной файловой системы.
    3. Сохранить в рабочей области - исправление будет сохранено в заданном файле в одном из существующих проектов рабочей области.
    Для исправлений небольшого размера перенос исправление через буфер обмена может быть оправдан, но в большинстве случаев рекомендуется использовать локальную файловую систему. Для настройки создания исправления нажмите Далее.
  4. Укажите, каким образом следует настроить исправление:
    1. Включая подкаталоги - если опция выключена, то в исправление будут включены только прямые потомки выбранных ресурсов. В противном случае будут включены все дочерние ресурсы рекурсивно.
    2. Включить в исправление новые файлы - Если опция выключена, то в исправление войдут только файлы, уже внесенные в CVS. В противном случае будут включены также вновь созданные файлы, которые еще не были ни добавлены в CVS, но исключены.
    3. В формате вывода diff - Позволяет выбрать один из форматов вывода diff. Unified - это формат, применяемый во многих приложениях исправлений, включая Eclipse.
  5. Нажмите Готово.
  6. После этого примените исправление для соответствующего проекта.

Для того чтобы установить исправление, выполните следующие действия:

  1. Выберите ресурс, для которого было создано исправление. Этот ресурс должен содержать те же самые ревизии файлов, для которых было создано исправление.
  2. В выпадающем меню выберите Совместная работа > Установить исправление.... Откроется мастер Установить исправление.
  3. Укажите, где расположено исправление:
    1. Файл - исправление хранится в файле локальной файловой системы. Введите полный путь к файлу или найдите его с помощью кнопки Обзор....
    2. Буфер обмена - исправление скопировано в буфер обмена. Предупреждение: безопаснее работать с исправлениями, хранящимися в файлах. При работе с буфером обмена могут быть ошибки, связанные с различиями в окончаниях строк, если исправление было создано на другой платформе (например, в Linux, а не в Windows).
    Нажмите Далее, чтобы просмотреть результат установки исправления.
  4. В верхней части страницы показано, было ли исправление успешно установлено для файлов в рабочей области. При выборе элемента в дереве в нижней части окна будет показаны часть файла исправления (называющаяся 'кусок' или 'hunk' в терминологии утилиты patch). Эту часть можно будет просмотреть. Примечание: В нижней части окна не показано, как будут выглядеть ресурсы рабочей области после наложения куска исправления. Показано только содержимое файла исправления.
    1. Помеченный галочкой элемент указывает, что исправление или его кусок могут быть успешно применены в ресурсу рабочей области. Можно отменить применение исправления или его отдельных кусков, отменяя их выбор.
    2. Красный восклицательный знак указывает на неполадку с исправлением или куском.
      Это имеет место, если исправление повреждено или было создано с ревизиями файлов, отличающихся от тех, для которых оно устанавливается.
      В скобках приводится объяснение причины сбоя.

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

  5. Если все выполнено успешно, нажмите Готово, чтобы установить исправление. Теперь рабочая область будет содержать исходящие изменения для каждого файла, затронутого исправлением.

Опции для установки исправления

Следующие опции служат для того, чтобы можно было успешно установить файл исправления:
  1. Вернитесь на первую страницу мастера Установить исправление и выберите именно те ресурсы, для которых был создан этот файл исправления.
  2. Если общая часть пути к файлам исправления не соответствует путям в рабочей области, выберите 'Без учета начального пути'.
  3. Опция 'Без учета пробелов' позволяет игнорировать различия в пробелах между файлом исправления и файлами рабочей области.
  4. Измените 'Коэффициент неточного соответствия' (терминология patch). Этот параметр определяет, насколько далеко от исходной строки может отходить кусок. Значение по умолчанию - два. Поэтому если кусок не соответствует строке, заданной в файле исправления, то мастер Установить исправление будет искать совпадение в числе строк выше или ниже текущей согласно заданному параметру неточного соответствия.
  5. Параметр 'Отменить исправление' служит для удаления исправления, которое было применено для файлов рабочей области. Так можно отменить исправление или установить его повторно.

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

Связанные задачи
Сравнение ресурсов

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