【发布时间】:2012-01-24 15:30:54
【问题描述】:
我正在考虑使用 Netbeans 使用 Subversion,并想知道维护不同版本(分支)的代码是多么容易。
我们目前有 Sourcesafe,其代码的单一版本在 Netbeans 中维护。现在我们有更多的客户,因此我们需要维护不同版本的软件。
据我在 Subversion 中了解,您有一个主干文件夹,它是代码的主要/工作分支。然后,由于需要不同的版本,您将代码分支到分支下。因此,考虑未来的情况可能会使用以下层次结构:
product\trunk
product\branches\version 1.0.0.0
product\branches\version 1.0.0.1
product\branches\version 1.0.0.2
product\tags
在主干和每个版本(即版本 1.0.0.0、版本 1.0.0.1 和版本 1.0.0.2)下,您具有 Netbeans 项目的相同文件夹层次结构,即:
src
lib
test
其中 lib 包含项目使用的可能由第三方开发的 JAR 文件。 src 将包含应用程序使用的数十、数百、数千个源代码类。 test 有望包含等效源代码类的测试类。
nbproject 是 Netbeans 专门用于存储各种项目设置的文件夹。 当您编译应用程序时,Netbeans 通常会创建一个 dist 文件夹,该文件夹是一个已编译的 JAR 文件,并且它在 lib 文件夹中引用它所引用的 JAR 文件。
我有几个问题:
- 是否有任何理由不将 nbproject、lib 和 dist 文件夹添加到版本控制中?
-
在 Netbeans 中维护不同版本的代码时,是否必须为每个版本的源代码创建单独的 Netbeans 项目?所以基本上你会在 Netbeans 的项目视图中看到:
- 产品后备箱
- 产品版本 1.0.0.0
- 产品版本 1.0.0.1
- 产品版本 1.0.0.2
- ...等等...
- 产品版本 X.X.X.X
据我所见,Subversion 具有比 Sourcesafe 更好的合并功能以及许多其他更好的功能。它还与 Netbeans 集成,这是另一大优势。我已经创建了一个带有主干和单个分支版本的测试存储库,其中我将分支版本中的文件合并回主干,在同一文件中存在许多冲突。
【问题讨论】: