Я считаю, что Bazaar - самая разумная DVCS из всех, и особенно хороша для пользователей, знакомых с Subversion. Он может очень эффективно использоваться с системой Subversion.
Похоже, bzr svn-import
команда импортирует все ветки из Subversion, что, вероятно, не то, что вам нужно. Невозможно импортировать из проверки Subversion, потому что Subversion не хранит всю историю локально.
Поскольку вы хотите использовать несколько веток, вы должны сначала создать общий репозиторий, чтобы сэкономить место на диске и время при ветвлении.
bzr init-repo ~/project
Затем используйте bzr checkout
команду, чтобы создать извлечение из вашего ствола Subversion. Укажите URL Subversion для ствола проекта.
cd ~/project bzr checkout https://svn.example.com/project/trunk trunk
Затем у вас будет дерево Bazaar в ~ / project / trunk, которое привязано к стволу Subversion. Связанная ветвь означает, что коммиты автоматически передаются в удаленную ветвь, т.е. все, что вы здесь делаете, будет зафиксировано в транке Subversion.
Если вы хотите внести некоторые изменения, создайте новую ветку из вашей локальной магистрали.
cd ~/project bzr branch trunk fix-some-bugs
Работайте в ~ / project / fix-some-bugs и продолжайте коммитить. Все это будет происходить локально и не повлияет на ствол Subversion. Вы можете создать столько веток, сколько захотите.
Если вы хотите зафиксировать эти изменения в стволе Subversion, объедините ветку с вашим локальным стволом. Сначала убедитесь, что ваш локальный транк обновлен с помощью bzr pull
.
cd ~/project/trunk bzr pull bzr merge ../fix-some-bugs bzr commit
Все изменения, сделанные вами в ветви, будут зафиксированы как одна ревизия в Subversion (даже если вы сделали несколько изменений в ветви).