bzr init-repo и несколько проектов

Мне трудно понять bzr init-repo.

У меня есть 3 проекта, которые я хочу иметь в своем собственном изолированном репозитории, в subversion я бы использовал svnadmin create три раза для их создания. Нравится:

svnadmin create MyProject
svnadmin create MyHomepage
svnadmin create MyDocuments

Вышеприведенное дало бы 3 изолированных репозитория Subversion.

Как создать 3 изолированных общих базарных репозитория?

вы бы сделали это таким образом

bzr init-repo ./repo
bzr init ./repo/MyProject
bzr init ./repo/MyHomepage
bzr init ./repo/MyDocuments

Или вы бы сделали это таким образом

bzr init-repo ./MyProject
bzr init ./MyProject/trunk

bzr init-repo ./MyHomepage
bzr init ./MyHomepage/trunk

bzr init-repo ./MyDocuments
bzr init ./MyDocuments/trunk

Или есть другой способ?


person neoneye    schedule 30.12.2009    source источник


Ответы (2)


Я бы вообще не использовал init-repo, так как они не предназначены для веток одного и того же кода, а являются независимыми проектами.

Я бы просто сделал:

bzr init ./MyProject
bzr init ./MyHomepage
bzr init ./MyDocuments
person James Polley    schedule 30.12.2009
comment
О, гораздо проще. Значит, bzr init-repo вообще не нужен при создании общего репозитория? - person neoneye; 30.12.2009
comment
Это в основном то, что вы предложили первым, но без шага init-repo. Это совсем не обязательно, и я бы не стал с этим заморачиваться. init-repo используется, когда вы хотите создать общий репозиторий для отслеживания множества связанных веток одного и того же проекта — здесь у вас есть три несвязанных проекта. - person James Polley; 30.12.2009
comment
wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow рассказывает об одном из случаев, когда вы можете использовать init-repo, wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow другой (хотя оба случая похожи). В вашем случае init-repo совершенно лишний. - person James Polley; 30.12.2009
comment
Хорошо, спасибо, это имеет смысл. Меня смутило руководство по централизованному рабочему процессу doc.bazaar.canonical. com/bzr.2.0/en/tutorials/ - person neoneye; 30.12.2009

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

Если вас не волнует эффективность использования пространства и скорость создания новой ветки, не используйте общие репозитории.

Итак, если вы хотите иметь несколько веток для каждого из ваших проектов (MyProject, MyHomepage, MyDocuments), правильный способ:

bzr init-repo ./MyProject
bzr init ./MyProject/trunk

bzr init-repo ./MyHomepage
bzr init ./MyHomepage/trunk

bzr init-repo ./MyDocuments
bzr init ./MyDocuments/trunk

Если вы планируете иметь только одну ветку для каждого проекта, вообще не используйте общий репозиторий и сделайте так, как предложил Джеймс Полли.

Вы даже можете создать общий репозиторий позже и поместить в него свою текущую ветку с помощью bzr reconfigure --use-shared.

person bialix    schedule 30.12.2009
comment
Я забочусь о вещах, которые работают и просты. Скорость и размер не важны. Спасибо :-) - person neoneye; 31.12.2009