Алексей Махоткин

домашняя страница

CVS — Система Управления Параллельными Версиями

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.

Comments