Я бы хотел сделать следующее: начать с проекта, подобного тому, который вы создали:
mkdir myProject
cd myProject
bzr init
bzr mkdir src
bzr mkdir data
bzr mkdir foo
....
# (As per your steps above)
bzr add
bzr ci -m "Done stuff"
Теперь создайте репозиторий и вставьте в него ветку:
# Now make it into a multi-branch project
cd ..
# Make a new repository with no working trees
bzr init-repo --no-trees repo
# Branch the project into the repository
bzr branch myProject repo/trunk
# Get rid of the project (by moving, to keep a backup)
mv myProject myProject_backup
Теперь начните работать с оформлением заказа (облегченное или иное в зависимости от ваших предпочтений):
# Now get a working copy and put it in a separate folder to the repo
bzr co --lightweight repo/trunk myProject
# Now do stuff
cd myProject
# Hack hack hack
bzr ci -m "Done stuff"
Теперь вы можете создавать ветви для объектов или чего-либо еще:
# Time to change branch (-b creates the new branch in the repository):
bzr switch -b testFeature1
# Now it is a lightweight checkout of ../repo/testFeature1, which is branched off trunk
# Hack hack hack
bzr ci -m "Done stuff with testFeature1: seems to work"
объединить изменения обратно в транк:
bzr switch trunk
bzr merge ../repo/testFeature1
bzr ci -m "Merged testFeature1 development."
Обратите внимание, что bzr switch
принимает либо путь, который либо относительно текущего каталога, абсолютного, либо относительно хранилища, когда вы связаны с хранилищем,но bzr merge
требуется путь относительно текущего каталога или абсолютный (не относительно хранилища).
Это может не соответствовать вашему рабочему процессу (извлечения и т. п.), но этодовольно эффективный способ достижения того, что вы хотите сделать.Надеюсь, это поможет.