Ed пишет:

повторю еще раз:
есть 2 ветки - A и B, в A интересующие нас изменения были внесены между ревизиями An и Am (после этого возможно были закоммичены ещё какие-то изменения).

1. посмотреть разницу в ветке между ревизиями An и Am (или между двумя датами). в cvs можно или посмотреть в head между двумя датами или же в любой ветке между двумя ревизиями одного файла (каждый файл имеет независимый номер версии).
2. накатить изменения между An и Am на ветку B;
$ cd work_dir_with_branch_B
$ cvs up -jAn -jAm ChandedFile
3. отменить изменения в ветке A, произошедшие между ревизиями An и Am.
$ cd work_dir_with_branch_A
$ cvs up -jAm -jAn ChandedFile

Обычно измененных за интересующий период файлов не много и номера начальной
и конечной ревизии для каждого из них легко определяются.


с 1 наверное в системах с атомарным коммитом проблем нет (в cvs можно эмулировать такое поведение, добавляя на кажый коммит новый тэг)
если после каждого коммита метить ВСЕ файлы новым тэгом, то наверное
пункты 2 и 3 можно упростить:
2.
$ cd work_dir_with_branch_B
$ cvs up -jSTART_TAG -jEND_TAG

3.
$ cd work_dir_with_branch_A
$ cvs up -jEND_TAG -jSTART_TAG




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить