Необходимо преобразовать ствол проекта в ветку при использовании CVS.

StackOverflow https://stackoverflow.com/questions/907644

  •  05-09-2019
  •  | 
  •  

Вопрос

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

Используя файл параметров, я могу указать, что ствол проекта «ShouldBeBranch» должен быть помещен в «/OtherProject/branches/ShouldBeBranch», но я не могу найти способ избежать создания каталогов Subversion для тегов и ветвей проект MustBeBranch (пустой, но все еще созданный).

Единственный вариант, который я вижу на данный момент, — это удалить каталоги из Subversion после завершения преобразования, но мне было интересно, знает ли кто-нибудь, как это можно сделать в процессе преобразования?Я также просмотрел файл подсказок по символам, но при наличии 270 проектов указание проекта по индексному номеру выглядит слишком сложным!

Большое спасибо, Дэвид

Это было полезно?

Решение

Предположительно, ваш проект «ShouldBeBranch» сам имеет ветки и теги.Где вы хотите, чтобы они оказались?

Если вы хотите, чтобы в преобразование был включен только ствол проекта «ShouldBeBranch»:

  • исключить все остальные символы из проекта «ShouldBeBranch»
  • установите для его Trunk_path путь в другом проекте
  • установите для ветвей_path и tags_path значение None в файле параметров (это предотвратит их создание)

Таким образом, часть вашего файла параметров, добавляющая проект «ShouldBeBranch», будет содержать такие строки:

run_options.add_project(
    # ...
    trunk_path='OtherProject/branches/ShouldBeBranch',
    branches_path=None,
    tags_path=None,
    # ...
    symbol_strategy_rules=[
        ExcludeRegexpStrategyRule(r'.*'),
        ],
    )

Другие советы

Мне кажется, что исправления после импорта лучше всего.Если вы переместите проект\ствол проекта в ветку\что-нибудь, Subversion будет просто отслеживать историю.

Этот Сообщение блога описывает способ переименования путей с использованием цикла дампа/загрузки.Таким образом, история изменится так, что, если вы снова посмотрите на историю файлов, может показаться, что они всегда находились внутри ветки\что-то.

Если бы вы вернулись к старой версии, вы бы ожидать это должно быть в проекте\транке.Поэтому я не думаю, что пытаться изменить историю — это хорошая идея.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top