При импорте с помощью parsecvs коммиты могут отличаться (например, за счет модификации списка Authors), но соответствующие им деревья одинаковые. Теперь мне нужно слить два дерева: все коммиты разные, но все деревья совпадают. * new-cvs * commitV * commitU * commitT * cvs * commitS * commit9 --> tree9 <-- * commitR * commit8 --> tree8 <-- * commitQ * commit7 --> tree7 <-- * commitP ................................. * commit0 --> tree0 <-- * commitA | | --- --- Стратегия слияния recursive ищет общего предка по коммитам и не находит; поэтому при заливании new-cvs в cvs фактически делается черти-что: происходит откат на самое начало cvs и дальше патч-за-патчем применяются коммиты из new-cvs. Заканчивается это успешншо (потому что все патчи совпадают), но получается совсем некрасиво. Мне нужна стратегия, которая дойдет до commit9/commitR, увидит у них одинаковое дерeво tree9 и пойдет раскручивать "как бы fast-worward", вливая в cvs commitS..commitV. Есть такая стратегия? (Я понимаю, что можно сделать rebase, т.е. "насадить" commitS..commitV прямо на бранч cvs. Но это всё же ручная работа по нахождению общего дерева.)