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

Har*_*rel 3 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/ 
Run Code Online (Sandbox Code Playgroud)

谢谢

mgi*_*uca 5

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

你几乎拥有它,但你不想使用"cp",你想使用"bzr branch".注意:除非您希望Bazaar将分支移入,移出或跨越存储库,否则通常可以使用"cp"复制分支- 然后您需要"bzr branch"来智能地重新打包历史记录.所以这就是你想要做的:

bzr init-repo --no-trees /home/bzr/myrepository
cd /home/bzr/myrepository
bzr branch /home/oldbzr/branch_taken_from_current_repo stable
Run Code Online (Sandbox Code Playgroud)

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


bia*_*lix 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
Run Code Online (Sandbox Code Playgroud)

因此,如果我们省略,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
Run Code Online (Sandbox Code Playgroud)