Вы можете объединить изменения, сделанные на ветке, с вашей рабочей копией, добавив флаг -j ветка к команде update. В результате CVS внедряет в рабочую копию изменения, сделанные между корневой ревизией ветки и свежайшей ревизией на этой ветке.
Ключ командной строки -j означает “объединить” (join).
Представьте себе такое дерево ревизий:
+-----+ +-----+ +-----+ +-----+ ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 ! <- основной ствол +-----+ +-----+ +-----+ +-----+ ! ! ! +---------+ +---------+ Ветвь R1fix -> +---! 1.2.2.1 !----! 1.2.2.2 ! +---------+ +---------+
Ветке 1.2.2 была назначена метка (символьное имя) 'R1fix'. В нижеследующем примере предполагается, что модуль mod содержит единственный файл, m.c.
$ cvs checkout mod # Извлечь последнюю ревизию, 1.4 $ cvs update -j R1fix m.c # Слить все изменения, сделанные на ветке, # т. е. изменения между ревизиями 1.2 # и 1.2.2.2, в рабочую копию файла $ cvs commit -m "Included R1fix" # создать ревизию 1.5.
В результате операции слияния может произойти конфликт. В это случае вам сначала надо справиться с ним перед фиксированием изменений.
Команда checkout также поддерживает флаг -j ветка. Можно добиться эффекта, обсуждавшегося выше, с помощью
$ cvs checkout -j R1fix mod $ cvs commit -m "Добавлен R1fix"