0

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

4

3 回答 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 回答