Сведения о вопросе

NOTtoday

07:35, 14th August, 2020

Теги

svn   cvs    

CVS для SVN преобразования и реорганизации филиалов

Просмотров: 438   Ответов: 7

Я конвертирую из существующего репозитория CVS в репозиторий SVN. CVS репозиторий имеет несколько брансов, и я хотел бы переименовать ветви при преобразовании.

Желаемое преобразование выглядит так:

CVS branch         SVN branch
HEAD       ->      branches/branchX
branchA    ->      trunk
branchB    ->      branches/branchB
branchC    ->      branches/branchC

То есть, CVS HEAD становится нормальной ветвью, а CVS branchA становится SVN trunk.

Оба репозитория CVS и SVN будут находиться на одной машине linux.

Как это можно сделать?

Также может быть достаточно преобразования, когда CVS branchA становится SVN стволом, а все остальные ветви CVS игнорируются.



  Сведения об ответе

lourence

08:23, 2nd August, 2020

Я особенно заинтересован в сохранении нашей истории. Если я переименую и перемещу ветви в SVN после преобразования, сохранится ли история?

Да. Subversion также отслеживает изменения в структуре каталогов, и вся история версий сохраняется, даже если файл перемещается в дереве.

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


  Сведения об ответе

VCe znayu

03:55, 2nd August, 2020

Прошло много времени с тех пор, как я сделал преобразование CVS -> SVN, и, вероятно, еще больше времени с тех пор, как я сделал это с нетривиальной структурой ветвей. Поскольку SVN может довольно легко перемещаться по деревьям каталогов, вы можете сначала выполнить полное преобразование, а затем полностью отсортировать структуру ствола/ветвей в SVN позже.

Если вы все же доберетесь до этой точки и перемещаетесь по целым деревьям каталогов в пределах SVN, то, вероятно, лучше всего, если вы фиксируете после каждого шага переименования/перемещения дерева. Просто нужно кое-что запомнить.


  Сведения об ответе

ITSME

21:06, 1st October, 2020

Ветви Subversion - это каталоги, поэтому вы можете просто переместить ветви после завершения импорта, и никакая история не будет потеряна.


  Сведения об ответе

qwerty101

02:49, 28th August, 2020

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


  Сведения об ответе

dump

12:18, 1st August, 2020

Можно переместить каталоги магистрали и ветви после преобразования, но для этого потребуется явная фиксация после преобразования SVN, которая останется в вашей истории SVN, что немного усложнит изучение истории.

Но вы действительно можете сказать cvs2svn, чтобы сохранить магистраль и ветви к SVN путям, которые вы хотите, используя опцию командной строки --symbol-hints=symbol-hints.txt или (если вы используете файл опций для преобразования) правило стратегии символов SymbolHintsFileRule('symbol-hints.txt') , где symbol-hints.txt -это файл, содержащий строки, подобные следующим:

. .trunk. trunk branches/branchX .
. branchX branch trunk .

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


  Сведения об ответе

SSESION

10:31, 17th August, 2020

Некоторые дополнительные сведения в поддержку принятого ответа:

cvs2svn не допускает преобразования из ствола в ветвь или из ветви в ствол

поэтому перемещение вещей, как только вы перейдете в svn, - это лучший способ пойти.


  Сведения об ответе

$DOLLAR

21:06, 1st October, 2020

Я особенно заинтересован в сохранении нашей истории. Если я переименую и перемещу ветви в SVN после преобразования, сохранится ли история?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться