我正在考虑使用Netbeans使用Subversion,并想知道维护不同版本(分支)代码是多么容易。
我们目前拥有Sourcesafe,其中包含一个在Netbeans中维护的代码版本。现在我们有更多的客户,因此我们需要维护不同版本的软件。
据我所知,在Subversion中,你有一个trunk文件夹,它是代码的主要/工作分支。然后,由于需要不同的版本,您可以在分支下分支代码。因此,考虑未来事物的外观可能会使用以下层次结构:
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
在trunk和每个版本(即版本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文件。
我有几个问题:
在Netbeans中维护不同版本的代码时,是否必须为每个源代码版本创建一个单独的Netbeans项目?基本上你可以在Netbeans的项目视图中使用:
据我所知,Subversion具有比Sourcesafe更好的合并功能以及许多其他更好的功能。它还与Netbeans集成,这是另一大优势。我已经创建了一个带有主干和单个分支版本的测试存储库,其中我将分支版本中的文件合并回到主干,并在同一文件中存在多个冲突。
答案 0 :(得分:1)
通常可以避免在目录和文件名中使用空格,因为它可以提高脚本编写能力。虽然编写脚本不是一个直接关注的问题,但您不希望关闭这样一个有用的工具(如果您将来需要它)。
所以试试这个
product/
product/trunk
product/branches/1.0.0
product/tags/1.0.0.1
product/tags/1.0.0.2
product/tags/1.0.0.3
其中一个通过从主干中复制来“制作”1.0.0分支。在稳定1.0.0分支的同时,1.0.1,1.1或2.0的工作可以继续在主干中而不会破坏1.0.0分支
现在,当您准备“释放”1.0.0分支的副本时,将其复制到“tags”目录中,并增加“发布”号。在将其复制到“标签”之后,您应该重新配置服务器,以便不允许对1.0.0.1,1.0.0.2等进行任何更新。否则,您将无法获得有关所发布内容的有效快照。
这只是一种做事方式,也是一种非常受欢迎的方式。也就是说,有许多变种,您可能会发现一种更适合您需求的改进。
答案 1 :(得分:0)
备注强>
几个答案