java - 每种编程语言都有单独的 Subversion 分支?

标签 java svn delphi repository directory-structure

在某些项目中,我必须处理不止一种编程语言(例如与 C# 或 Java 应用程序通信的 Delphi GUI 应用程序)。 Subversion 存储库当前包含三个顶级分支,每种语言一个。

我是否应该像下面的示例那样更改此设置并将项目的所有部分分组到主干中,以便更轻松地在项目级别进行分支和标记?

project1
  branches
  ...
  tags
  ... 
  trunk
    csharp_app
    delphi_app
    java_app
    ...
project2
...

最佳答案

由于这些单独的子项目相互作用,因此它们需要步调一致,并且您需要标记/分支/发布 C#/Java/任何组件在一起。如果它们不相关,那么我会提倡(也许)单独的存储库,或者同一存储库中的单独目录。但不是分支或标签。

分支用于管理同一代码库上的不同开发流。标签用于指示项目演变中的特定点。

我认为编程语言无关紧要。问问自己可发布的内容是什么,以及您需要如何管理它。过去,我在结合 Java 和 C++ 的项目中成功地做到了这一点,语言不是问题——它使您需要管理的组件保持同步。

我不一定会为每种语言创建一个新的顶级目录。如果您的 Java 组件突然需要一个 JNI 层会怎样?令我印象深刻的是,该实现反射(reflect)在顶级目录结构中,这真的不是问题。

关于java - 每种编程语言都有单独的 Subversion 分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965777/

相关文章:

eclipse - 将 Eclipse 中的项目置于源代码控制之下

svn - 颠覆特征

delphi - 在不使用另存为的情况下更改 Delphi 2007 中的当前保存/默认目录

javascript - selenium - 单击由 javascript 生成的单选按钮

java - 无法实例化 Activity ,ClassNotFoundException

java - spring MVC 中的 404 错误 - "the requested resource not found"用于简单的注册/登录程序

delphi - 数据库和谷歌日历之间的数据同步

java - 由于未知父级而无法添加 View ?

Xcode 5 非根 URL 存储库

delphi - 跨内存管理器边界传递 Delphi const 字符串参数是否安全?