4

我们一直在使用 Google Code SVN 来存储一个学校项目。当我们尝试不同的想法时,我们创建了新的 Visual Studio 项目并将它们存储在那里。现在我们想将所有不同的想法合并到一个最终项目中。

这是存储库的当前布局:

- svn
 - branches
    - Idea1
    - Idea2
 - tags
 - trunk
    - Sub-Project1
      - files (...)
    - Sub-Project2
      - files (...)
    - Sub-Project3
      - files (...)

我将 AnkhSVN 与 Visual Studio 一起使用,我注意到的一件事是,每次我签出一个项目时,其他所有项目也会被签出(当我通过 Windows 资源管理器查看它时,我可以看到这一点)。

现在我们要制作最终版本,我想知道放置最终项目的正确方法是什么。

编辑

我不认为我在上面解释得很好。所以我又来了。

谷歌代码 SVN 存储库是否设置为用于单个项目?或者我可以将它们用于多个子项目吗?我问这个的原因是一个空的谷歌代码项目中的SVN文件结构已经是:

- svn
 - branches
 - tags
 - trunk

但我认为每个子项目都需要这三个组件。

可能是我之前不清楚,我已经将上面清单中的主干部分(到子项目)重命名了。每个子项目都有一个独特的目标。问题是我现在想将子项目组合成一个更大的项目。

4

2 回答 2

2

我要做的是像这样重新组织一些东西:

/svn
    /Sub-Project1
        /branches
        /tags
        /trunk
    /Sub-Project2
        /branches
        /tags
        /trunk
    ...

您可以通过简单的 svn 移动来完成所有这些操作。如果您当前的分支 Idea1 和 Idea2 属于当前的 über-trunk,那么我可能会将它们移至顶级/oldtrunk/branches. 或者,如果它们不活动,就删除它们!这是svn,他们仍然会在那里。:)

接下来,您提到想要“组合子项目”,其中每个“都有一个独特的目标”。如果您想继续将它们维护为完全封装的子项目,我建议让它们单独构建并将它们组合为库而不是组合源。在 Java 中,我会使用像Ivy这样的依赖管理工具来处理这个问题,但我不确定 Google Code + Visual Studio 的最佳解决方案是什么。您可以将 Ivy 用于非 Java 的东西,但它不那么直观。

于 2010-03-07T04:46:55.140 回答
1

请注意,您可以从解决方案文件 AnkhSVN 执行签出的位置向上调整多少级别。它应该询问您在使用时应该在什么级别签出项目File -> Open Subversion Project,并且该属性尚未设置。您也可以使用更改它File -> Subversion -> Change Source Control

于 2010-03-07T21:51:01.297 回答