【问题标题】:Organizing a project that uses multiple languages?组织一个使用多种语言的项目?
【发布时间】:2011-01-12 06:02:11
【问题描述】:

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

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

repo/project1/perl/main/...

repo/project1/.NET/main/...

repo/project1/Java/main/...

如果您推荐的层次结构确实有固定的发布时间表,您会如何改变它们?

【问题讨论】:

  • 看起来你走在正确的轨道上......

标签: version-control project-organization multilingual


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 2014-03-04
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多