【问题标题】:Bzr: Create a shared repository from an existing stand-alone repositoryBzr:从现有的独立存储库创建共享存储库
【发布时间】:2012-01-17 18:03:58
【问题描述】:

在过去的几个月里,我一直在使用 Bzr 对我的项目进行版本控制。我是唯一的开发人员,目前我将所有内容都放在一个本地项目目录中,我将其提交并同步到 DriveHQ。

我现在想到了一些可能会打破这条主线的大规模实验,因此我一直在研究分支和共享存储库的概念。所以我的问题基本上是:我应该如何从这个已经受版本控制的库创建一个新的共享存储库?

我对主干、分支和标签的SVN项目结构比较熟悉,我打算采用这种结构。我的计划是继续做一个新的 init-repo,然后将我所有的代码(加上 .bzr)复制到主干文件夹中。那么这样可以吗?或者有什么方法可以将我已经拥有的内容转换为共享存储库?

非常感谢您的帮助。

克里斯托弗

【问题讨论】:

    标签: repository bazaar trunk


    【解决方案1】:
    1. 在当前存储库之外创建一个文件夹。
    2. 调用bzr init-repo创建共享仓库
    3. 从您的工作树推送到新创建的共享存储库。

    您现在可以直接在共享存储库上工作

    【讨论】:

    • 我想提出相同的建议,但不要 push ,而是从旧代表分支到新代表。有区别吗?
    • @Gil:你可以从旧的工作副本中分支到新的共享仓库,它也可以工作。
    • @TridenT:非常感谢,非常有帮助。澄清一下,我可以安全地删除旧存储库吗?我应该从 Bzr 执行此操作,还是直接将其拖到垃圾箱中?
    • @ChrisM 是的,一旦推送,就可以删除旧的了。
    【解决方案2】:

    好的,所以你有一些 work 目录,你的独立分支所在的位置。 您想在新的共享仓库中创建 trunk 和功能分支。

    首先你需要自己创建一个共享仓库:

    bzr init-repo /path/to/repo
    

    现在您可以将代码发送到repo/trunk。您可以使用push、branch,也可以复制work并使用reconfigure。

    1. cd work; bzr push /path/to/repo/trunk
    2. cd path/to/repo; bzr branch /path/to/work trunk
    3. 或复制/移动work 到/path/to/repo/trunk 然后cd /path/to/repo/trunk; bzr reconfigure --use-shared

    在所有情况下,您都将拥有分支 trunk 作为旧 work 的副本,并且此 trunk 将使用共享存储库来保存修订。

    你也可以看看bzr-colo插件。

    【讨论】:

    • 对我来说,我使用了#1,而且效果也很好(我认为)。我有同样的情况并使用#1。为了确认,我 cd /path/to/repo,在其中输入 bzr info 并得到 Shared repository with trees (format: 2a) (newline) Location: (newline) shared repository: . 。然后我输入 bzr info trunk 得到 Repository tree (format: 2a) (newline) Location: (newline) shared repository: . (newline) repository branch: trunk 。谢谢@bialix!
    猜你喜欢
    • 2019-02-14
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多