Build 连接集市中的项目

Build 连接集市中的项目,build,dvcs,bazaar,externals,Build,Dvcs,Bazaar,Externals,我有一些项目,需要包括另一个项目的来源。所有项目均由版本控制软件管理。事实上,它们现在是同一个本地集市存储库的一部分。所需的布局如下所示: Repository MainProject code.c more_code.py OtherProject SomeData.txt MainProject2 code.c OtherProject SomeDa

我有一些项目,需要包括另一个项目的来源。所有项目均由版本控制软件管理。事实上,它们现在是同一个本地集市存储库的一部分。所需的布局如下所示:

Repository
    MainProject
        code.c
        more_code.py
        OtherProject
            SomeData.txt
    MainProject2
        code.c
        OtherProject
            SomeData.txt
    OtherProject
        SomeData.txt
我缺乏使用这些工具的经验。我最初的想法是,
MainProjects
OtherProject
子文件夹可以通过bzr外部链接到另一个项目的实际位置。不过,我很好奇这是否是正确的方法


(如果这是一种正确的方法,那么对于实际的bzr示例,需要额外的布朗尼点来说明如何做到这一点)

我相信bzr externals插件可以与您建议的布局配合使用,而bzr scmproj插件似乎可以管理一组子目录,将不同的分支表示为一个分支


我个人建议您不要像您建议的那样在MainProject和MainProject2的工作树中嵌入OtherProject的副本或链接,而是使用构建时变量来引用存储库下OtherProject的位置。但是我的主要工作环境是Windows,我没有象符号链接这样的文件系统功能。

关于组织,我建议每个项目都有一个存储库

Root  (folder)
    MainProject  (repo)
        code.c
        more_code.py
        OtherProject  (link)
            SomeData.txt
    MainProject2  (repo)
        code.c
        OtherProject  (link)
            SomeData.txt
    OtherProject  (repo)
        SomeData.txt

作为外部链接比在项目内部复制/粘贴更好。因此,在全球范围内,你们正朝着好的方向前进

在我的问题中,我指出我了解bzr externals等工具。实际的问题是,我所描述的项目布局和链接方式是否正确。我非常感谢您链接到我不知道的bzr scmproj,但我认为它可以更恰当地作为评论提供。管理外部的另一个选项是bzr scmproj插件: