svn - 重组svn文件夹结构乌龟

标签 svn tortoisesvn trunk

我创建了一个名为“解决方案”(包含许多项目)的 SVN 存储库,没有默认的主干、分支等结构。我想将此移至推荐的结构。

我在服务器上创建了新的文件夹结构,其中“团队”是包含上述主干和分支的根目录。那么我应该在本地重新定位到 Team/Trunk 还是在本地复制并添加到新的 repo 文件夹?如果可能的话,我想在这个过程中保持历史。

我已经阅读了许多关于这个主题的 SO 帖子,但似乎有很多方法可以判断对错,具体取决于具体情况。

另外,我是 SVN 和一般开发的新手,因此我需要 GUI 指令而不是命令行,抱歉,我不是开发人员。尽我所能。

插图:

(Existing)
    Solution/
            Project folders/

(Proposed)
    Team/
            Trunk/
                 /Project folders
            Branches/

最佳答案

首先,您不需要创建一个全新的存储库来重新组织您的项目。

其次,如果可以,请检查您的全部 解决方案在某处 repo ,然后创建和svn add Twig 、标签、树干 文件夹。不要提交它们;你会svn move每隔一个文件夹(项目文件夹)放入后备箱 然后一次性提交所有内容。

为了说明,我创建了一个 sample repo ,检查了,然后svn add编辑和 svn commit ted 了几个占位符项目文件夹:

Initial repo folder structure

然后,我创建了 分支机构 , 标签 , 和 后备箱 repo checkout 根目录下的文件夹,然后是 svn add使用 TortoiseSVN 编辑它们:

SVN Add Option in TortoiseSVN

repo 结帐现在看起来像这样:

The repo checkout after adding the branches tags trunk folders

现在,我选择所有项目文件夹,然后将它们右拖到 后备箱 文件夹,选择 SVN 将版本化项目移至此处 :

TortoiseSVN's svn move option

的根 sample repo 文件夹现在只包含 分支机构 , 标签 , 和 后备箱 文件夹。如果您右键单击 中的任何空白处 sample repo 文件夹,然后选择 TortoiseSVN -> SVN 检查修改 ,您应该会看到如下内容:

The status of the repo checkout after the svn move

最后,我右键单击 中的任何空白。 sample repo 文件夹,然后选择 TortoiseSVN -> SVN 提交... ,添加提交消息,然后单击 好的 .

现在,如果我右键单击 中的任何空白处 sample repo 文件夹-> TortoiseSVN -> SVN显示日志我会看到这个:

The log of the repo

全部做完!

注意:我要求对 repo 进行完整检查的原因是因为这样您就可以最大限度地减少为实现所需的重组而必须进行的提交数量。您可以使用 TortoiseSVN 的 Repo 浏览器在服务器端执行重组,但是您需要一次提交每个文件夹移动。

更多阅读:

  • Version Control with Subversion
  • TortoiseSVN 的帮助文件,通常在这里找到:%SYSTEMDRIVE%\Program Files\TortoiseSVN\bin\TortoiseSVN_en.chm
  • 关于svn - 重组svn文件夹结构乌龟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305771/

    相关文章:

    tortoisesvn - 如何使用 TortoiseSVN 中的工作副本覆盖存储库的内容?

    svn - TortoiseSVN 正在显示问号装饰器

    svn - 从分支合并到主干, 'Merge range of revisions'

    java - 在 Eclipse 中同时运行两个项目(trunk 和 branch)

    svn - 适当的SVN使用分支和主干

    java - Svn Merge不考虑Roo生成的aspectj文件

    linux - SVN 服务器自定义存储库 403 禁止在媒体上使用 apache2

    c++ - 项目属性在外部结帐时丢失

    git - 使用 Subversion 的类似 "Git"的工作流?

    svn - 如何将bug修复分支合并到主干和发布分支