Go to the first, previous, next, last section, table of contents.


Слияние веток

Вы можете объединить изменения, сделанные на ветке, с вашей рабочей копией, добавив флаг `-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.

В результате операции слияния может произойти конфликт. В это случае вам сначала надо справиться с ним перед фиксированием изменений. See section Пример конфликта.

Команда checkout также поддерживает флаг `-j ветка'. Можно добиться эффекта, обсуждавшегося выше, с помощью

$ cvs checkout -j R1fix mod
$ cvs commit -m "Добавлен R1fix"


Go to the first, previous, next, last section, table of contents.