首页 文章

在SVN中从中继的部分树创建分支

提问于
浏览
1

我想使用我们现有的(和独占的)主干(这是巨大的)引入分支/合并 . 这是一个例子:

trunk
    folderA
        folderA1
            folderA1a
        folderA2
    folderB
    folderC
    ...
    folderZ
        folderZ1
            folderZ1a
    libraries

branches

目标是将这些路径作为分支:

  • trunk / folderA / folderA1 / folderA1a

  • trunk / folderZ / folderZ1 / folderZ1a

  • trunk / libraries

到目前为止,我已经完成了以下工作:

  • 我使用dept "Immediate children, including folders"检查了 Baggage 箱 . 这只显示我的分支,标签和主干

  • 我更新了folderA1a,folderZ1a和库树从trunk到我的工作副本 . 现在我的工作副本中有这3棵完整的树

  • 从我的工作副本中,我运行了以下命令:svn copy trunk branches / mynewbranch

  • 我提交了我的更改

但是,当我浏览存储库时,mynewbranch包含树干结构的镜像副本,而不是我更新的几棵树 . 是否有可能从树干的部分树创建一个分支?

Edit #1

我进入trunk文件夹并运行以下命令:

svn copy . <path_of_branch>

如果我查看我的工作副本,分支只包含我需要的内容 . 这很好 .

但是,当我提交这些更改时,浏览存储库时,我最初排除的所有文件夹都存在 . 当我签出有问题的分支时,也会出现不需要的文件夹 .

3 回答

  • 0

    在第3步尝试这个...

    svn copy . <path_of_branch>
    

    这里 . 表示您的 working copy 将被创建为 branch ,我相信您要做的事情 .

  • 0

    由于问题被标记为tortoisesvn我假设TortoiseSvn可用 .

    您可能会发现使用Repository Browser执行此类操作更容易 .

    值得注意的是,branch trunk被认为是最佳做法,而不是 Baggage 箱的子文件夹 . This question有更多细节 . 请注意,在存储库中,由于subversion调用cheap copying,因此分支整个主干没有显着的磁盘使用损失 . 此外,如果本地磁盘存储或网络带宽出现问题,您当然可以只检查分支机构所需的子文件夹 .

  • 0

    您必须复制 trunk 中要包含的 trunk 的每个元素 .

    svn copy directori/file1 url:/svn/directori/file1
    svn copy ......
    

    或者从网址到网址

    svn copy url:/svn/test/trunk/file1 url:/svn/test/branches/branch01/file1
    

    ....

相关问题