-->

svn签深度(svn checkout depth)

2019-07-30 14:28发布

我有这样的树中的SVN项目:

/project
    /dir1
        /subdir1
           -file1
           -file2
            .....
        -file1
        -file2
        .....
    /dir2
        -file1
        -file2
        .....
    /dir3
        /subdir1
           -file1
           -file2
            .....
        /subdir2
           -file1
           -file2
            .....
        /subdir3
           -file1
           -file2
            .....
        /subdir4
           -file1
           -file2
            .....
    /dir4
        -file1
        -file2
        .....
-file1
-file2

我需要结帐

  • 从/项目中的所有文件
  • 全/ DIR1
  • 全/ DIR2
  • 全/ dir4
  • 从/ DIR3我只需要/ subdir1和/ subdir3

我可以用svn命令行以某种深度检出这些文件/文件夹? 如果是的话我该怎么办呢? 我可以添加subdir2结账后DIR3? 如何更新工作创造了这样的副本? 将正常的“SVN了”命令只更新这些文件夹或整个工程的更新将被执行?

Answer 1:

你需要的是所谓的稀疏结账 。

在您的情况,您可以:

svn co --depth files file:///project project
cd project
svn up --set-depth infinity dir1 dir2 dir4
svn up --set-depth empty dir3
svn up --set-depth infinity dir3/subdir1 dir3/subdir3

我可以添加subdir2结账后DIR3?

是: svn up --set-depth infinity dir3/subdir2

如何更新工作创造了这样的副本? 将正常的“SVN了”命令只更新这些文件夹或整个工程的更新将被执行?

是的, svn up将只更新这些文件和文件夹,也就是更新深度将被保留。



Answer 2:

1)svn的向上--set深入空文件/文件夹的路径

//它会从系统中删除文件

2)向上svn的--set-无限深度的文件/文件夹的路径

//它将从SVN服务器上的文件重新生成到本地系统



文章来源: svn checkout depth