Рефакторинг проекта для получения стабильных и магистральных ветвей с использованием bazaar
Вопрос
Я относительно новичок в VCS и особенно в Bazaar, поэтому я начал свой проект, не используя его, используя структуру, подобную этой
+project_root
+scripts
+bin # Binaries for easy testing
+dev # Sources root
+package_folder
+package_folder
...
Но мне сказали, что венчурные капиталисты - лучшая вещь со времен теории множеств, поэтому я попытался использовать ее в рамках Bazaar, используя это Я проделал большую работу.
cd scripts/dev
bzr init
bzr add
bzr commit -m "Initial import"
Итак (насколько это круто) Я просто bzr commit -m "spam"
всякий раз, когда мне захочется , и bzr push
когда я не доверяю своему жесткому диску.
Но теперь, когда у меня есть некоторый стабильный и распространяемый код, я настроил проект на launchpad, и я хотел бы иметь некоторый trunk
ветка, где я мог бы делать нестабильные коммиты только для резервного копирования и stable
ветка для использования пользователями.
То есть мне просто нужно было бы создать какую-нибудь команду, и она обновится stable
при текущем состоянии trunk
когда у меня будет стабильная версия, я хочу распространять ее, объединяя все промежуточные версии в одну.
Как я могу это сделать, если возможно, без рефакторинга моей структуры папок, и какой должна быть структура моего проекта на панели запуска в соответствии с обычными соглашениями?
Решение
Вопрос скорее о Launchpad, чем о bzr.
Вы можете настроить свою магистраль в качестве ветви по умолчанию на launchpad, или вы можете настроить свою стабильную ветвь в качестве ветви по умолчанию на Launchpad.Откройте страницу серии для вашего проекта:
https://launchpad.net/PROJECT/+series
Нажмите на серию стволов.У вас должна быть возможность выбрать ветку, которую вы хотите связать с серией магистралей. https://launchpad.net/PROJECT/trunk/+edit Давайте выберем ваш багажник здесь.
Теперь вам следует вернуться на страницу серии и создать новую серию, назовем ее "стабильная".https://launchpad.net/PROJECT/+addseries
Для стабильной серии вам следует выбрать другую ветку, давайте выберем вашу стабильную ветку.
Итак, теперь, когда вы или ваши пользователи будете использовать короткий URL, такой как lp:PROJECT
затем он получит доступ к вашей магистральной ветви.Если будет использоваться другой короткий URL-адрес: lp:PROJECT/stable
затем он получит доступ к вашей стабильной ветке.
lp:PROJECT/XXX
получит доступ к ветке, связанной с серией XXX.