bzr init-repo和多个项目

时间:2009-12-30 13:39:21

标签: dvcs bazaar

我很难理解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

还是有另一种方式吗?

2 个答案:

答案 0 :(得分:9)

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

如果您计划为每个项目设置仅一个分支,那么根本不要使用共享仓库,并按照James Polley的建议行事。

您甚至可以稍后创建共享仓库,并使用bzr reconfigure --use-shared将当前分支放入其中。

答案 1 :(得分:6)

我根本不会使用init-repo,因为它们不是相同代码的分支而是独立项目。

我只是这样做:

bzr init ./MyProject
bzr init ./MyHomepage
bzr init ./MyDocuments