我可以带一个集市分支并将其作为我的主要共享存储库吗?

时间:2011-06-28 00:02:02

标签: bazaar

我在共享服务器上有一个bazaar存储库。我想清理回购并从头开始设置,但保留了我的历史。我不知道最初是如何创建存储库的(有没有办法找到?)。

  • 我可以将分支机构纳入我的主要共享仓库吗?

这是一个可行的过程:

bzr init-repo --no-trees /home/bzr/myrepository
cd /home/bzr/myrepository
bzr init stable
cp /home/oldbzr/branch_taken_from_current_repo/* ./stable/
cp /home/oldbzr/branch_taken_from_current_repo/.bzr ./stable/ 

由于

2 个答案:

答案 0 :(得分:5)

Bazaar中的“分支”和“回购”是完全独立的概念。您不会将分支转换为回购。您通常将其视为回购(例如,在SVN或Git中)实际上是Bazaar中的一个分支。你想要做的是创建一个新的仓库,然后将旧的分支复制到新的仓库。

你差不多正确,但你不想使用“cp”,你想使用“bzr branch”。注意:当您希望Bazaar将分支移入,移出或跨存储库时,您通常可以使用“cp”复制分支之外 - 然后您需要“bzr分支”来智能地重新打包历史。所以这就是你想要做的:

bzr init-repo --no-trees /home/bzr/myrepository
cd /home/bzr/myrepository
bzr branch /home/oldbzr/branch_taken_from_current_repo stable

请注意,我没有做“bzr init” - 我不想创建一个新分支,只需复制旧分支。我不是手动复制旧分支或其.bzr目录。如果复制旧分支的.bzr,它将不会最终使用新的存储库。通过执行“bzr分支”,它将“嘿,我正在进入存储库。因此,我将把所有提交数据放入共享存储库,并将一个轻量级分支放入'稳定'。”

答案 1 :(得分:5)

您可以像mgiuca建议的那样在您的共享仓库中使用普通分支,但您也可以将独立分支转换为使用共享存储库。为此,您应该使用bzr reconfigure调用

来扩展您的步骤
bzr init-repo --no-trees /home/bzr/myrepository
cd /home/bzr/myrepository
bzr init stable
cp /home/oldbzr/branch_taken_from_current_repo/* ./stable/
cp /home/oldbzr/branch_taken_from_current_repo/.bzr ./stable/ 
cd stable
bzr reconfigure --use-shared

因此,如果我们省略cp,那么您可以在您的分支周围创建一个共享存储库:

cd /path/to/my/branch
bzr info                       # you should see you branch is standalone, 
                               # i.e. not using shared repo
bzr init-repo ../              # create shared repo in parent directory
bzr reconfigure --use-shared   # convert standalone branch to repository branch
bzr info                       # now you should see your branch is using shared repo