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

时间:2010-02-02 16:42:44

标签: version-control project-organization multilingual

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

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

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

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

回购/ PROJECT1 /爪哇/主/...

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

1 个答案:

答案 0 :(得分:2)

我认为你所提出的是在线。如果您将项目作为一个整体发布所有组件而不是单独释放每个组件,那么我可能会使用svn:externals来处理不同的repo位置或完全不同的存储库,然后只需将构建通过外部与组件的最新兼容标记版本相关联。 或者如果使用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/

确切的结构取决于工作流程以及组件的确切集成方式,但您明白了这一点。