组织使用多种语言的项目?

Dyl*_*ali 6 version-control multilingual project-organization

我目前正在开发一个包含perl,.NET,C/C++和Java组件的项目.这些组件是相互关联的,但不依赖于相同的发布计划.由于构建/测试环境要求非常不同,将它们全部集中到同一个/ bin/src/lib/etc/tests层次结构中有点笨拙.

在处理这种性质的项目时,在源代码管理中使用哪些好的组织层次结构?我目前倾向于每种语言都有自己的分支:

回购/ PROJECT1/perl的/主/ ...

回购/ PROJECT1/.NET /主/ ...

回购/ PROJECT1 /的Java /主/ ...

如果DID具有绑定的发布计划,您的建议层次结构将如何变化?

pro*_*son 2

我认为你所安排的内容已经上线。如果您将项目作为一个整体与所有组件一起发布,而不是单独发布每个组件,那么我可能会使用 svn:externals 到不同的存储库位置或完全不同的存储库,然后只需将通过外部构建与组件的最新兼容标记版本相关联。或者,如果使用 git,则使用子模块来做同样的事情。

/repo/project1
  trunk/
    svn:external .Net /repo/project1/components/.Net
    svn:external perl /repo/project1/components/perl
    svn:external Java /repo/project1/components/Java
    -- other integration code or what have you --
  tags/
  branches/
  components/
    .Net/
      trunk/
      tags/
      branches/
    Java/
      trunk/
      tags/
      branches/
    perl/
      trunk/
      tags/
      branches/
Run Code Online (Sandbox Code Playgroud)

确切的结构取决于工作流程以及组件的具体集成方式,但您已经明白了。