将android项目组织到subversion存储库的最佳方法

时间:2012-07-11 22:25:03

标签: android svn version-control repository

我正在学习Subversion,到目前为止我已经学到了一两件事,我刚刚创建了一个Google Code帐户和一个svn存储库来存储一个简单的项目,我的问题是如何组织我的svn存储库。想象一下,我刚刚创建了一个名为“Hello World”的android项目,他的测试项目名为“Hello World Test”,是否应该将这些项目导入到我的存储库的trunk中?将我的测试项目放入存储库主干也是有意义的吗?

3 个答案:

答案 0 :(得分:3)

在本地文件系统中:

Google推荐的最佳方法是Official Dev Guide

  

您可以在文件系统的任何位置创建测试项目,但最好的方法是添加测试项目,使其根目录test /与主应用程序项目的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 /.
  • 结帐/提交
  • 在每次发布之前,在标签/.
  • 下标记准备发布的代码(来自主干)
  • 如果同时与其他人合作(重大变更),请在分支/下打开代码副本(来自主干)并开始在您的分支上工作,一旦完成,将其合并回主干以供下一个版本使用。

根据我自己的经验,一组项目的最有效和最合理的结构(用于本地文件系统和版本控制系统)是Maven's Multi-Module Project,请查看this samples in GitHub

答案 1 :(得分:1)

这完全取决于你。就个人而言,如果我有一个测试项目,他们都会在同一个文件夹下。

svn
  /HelloWorld
      /HelloWorld
      /HelloWorldTest

这样,如果你有分支或标签,你也可以将它们保存在子文件夹中。

在一天结束时,它只是一个文件夹结构,如您的主文件夹或“我的文档”,您可以根据需要组织(或安抚您的强迫症)

答案 2 :(得分:1)

至于我使用Java项目和svn的经验,我认为将业务类和测试类放在同一个项目中更有用,因为它们都是同一整个项目的一部分。