我正在学习Subversion,到目前为止我已经学到了一两件事,我刚刚创建了一个Google Code帐户和一个svn存储库来存储一个简单的项目,我的问题是如何组织我的svn存储库。想象一下,我刚刚创建了一个名为“Hello World”的 android 项目和他的名为“Hello World Test”的测试项目,是否应该将这两个项目都导入到我的存储库的主干中?将我的测试项目也放入存储库主干是否有意义?
问问题
1254 次
3 回答
3
在本地文件系统中:
Google 推荐的最佳方法是来自Official Dev Guide:
您可以在文件系统的任何位置创建测试项目,但最好的方法是添加测试项目,使其根目录 tests/ 与主应用程序项目的 src/ 目录处于同一级别。这可以帮助您找到与应用程序关联的测试。例如,如果您的应用程序项目的根目录是 MyProject,那么您应该使用以下目录结构:
MyProject/ AndroidManifest.xml res/ ... (resources for main application) src/ ... (source code for main application) ... tests/ AndroidManifest.xml res/ ... (resources for tests) src/ ... (source code for tests)
在 SVN 存储库中:
颠覆的全部意义在于团队合作,最好的方法无疑是使用trunk/tags/branches结构:
https://svn/my-repo/ MyProject/ branches/ 1.1.1-fork/ AndroidManifest.xml res/ src/ tests/ tags/ version-1.0.0/ AndroidManifest.xml res/ src/ tests/ version-1.1.0/ trunck/ AndroidManifest.xml res/ src/ tests/ AndroidManifest.xml res/ src/
我们通常如何使用它:
- 开发时,总是从trunk/.checkout/commit。
- 在每次发布之前,在 tags/ 下标记准备发布的代码(来自主干)。
- 如果同时与其他人一起工作(重大更改),请在分支/下分支代码副本(来自主干)并开始在您的分支上工作,完成后,将其合并回主干以供下一个版本。
根据我自己的经验,一组项目最有效和合理的结构(用于本地文件系统和版本控制系统)是Maven 的 Multi-Module Project ,在 GitHub 中查看这个示例。
于 2012-07-11T23:54:27.063 回答
1
这完全取决于你。就个人而言,如果我也有一个测试项目,它们都会位于同一个文件夹下。
svn
/HelloWorld
/HelloWorld
/HelloWorldTest
这样,如果您有分支或标签,您也可以将它们保存在子文件夹中。
归根结底,它只是一个文件夹结构,例如您的主文件夹或“我的文档”,您可以根据需要组织(或缓解强迫症)
于 2012-07-11T22:30:33.743 回答
1
至于我使用 Java 项目和 svn 的经验,我认为将业务类和测试类放在同一个项目中更有用,因为它们都是同一个项目的一部分。
于 2012-07-11T22:37:46.197 回答