在AnkhSVN中创建分支将整个存储库添加到分支而不是单个项目

时间:2011-12-07 16:48:30

标签: visual-studio visual-studio-2010 svn branch ankhsvn

我有一个包含所有Visual Studio项目的Subversion存储库。存储库的组织如下:

repository/
    branches/
        project1_branch/
        ...
    tags/
        project1_tag/
        ...
    trunk/
        project1/
        project2/
        ...

当我右键单击我在Visual Studio 2010中打开的特定解决方案并选择Subversion --> Branch Solution时,默认的“从文件夹/ URL”是trunk目录。

如何创建我正在处理的特定解决方案/项目的分支?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

AnkhSVN试图猜测你的项目植根在树的哪个位置。在大多数情况下,这是您的工作副本的根。 (你没有查看工作副本根,不是吗?)。

如果您结帐^/trunk(其中^ =您的存储库根目录),AnkhSVN会建议将其合并到^/branches/something。 (在不同级别检查可能非常昂贵并打破Subversion模式,其中分支便宜。当您更新时,您将在本地计算机上创建所有“便宜”副本)

如果您希望AnkhSVN在不同级别分支,您可以通过“File-> Subversion-> Change Source control”设置项目根目录。然后选择解决方案中的选项。

答案 1 :(得分:3)

我想知道AnkhSVN是否假设存储库文件夹结构略有不同。如果我没有弄错,“推荐”结构表明trunk文件夹代表给定项目的稳定/当前代码库,而不是聚合多个项目中继的文件夹。也就是说,我希望看到更像这样的结构:

repository/    
    project1/
        branches/
        tags/
        trunk/
    project2/
        branches/
        tags/
        trunk/

如果从这个角度来看,AnkhSVN从trunk进行分支的行为更有意义 - 它只是将子目录视为以“trunk”为根的结构的一部分,但不知道或期望那些是离散项目的中继线。

我恭敬地建议从存储库根目录构建一个顶级项目文件夹,用于“测试”项目,如上图所示组织,然后通过AnkhSVN进行操作,并查看是否可能 - 向您的存储库结构的更改可能会长期为您提供最佳服务。