svn结账深度

时间:2012-07-25 12:52:13

标签: svn svn-checkout

我有一个像这样的树的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

我需要结帐

  • 来自/ project
  • 的所有文件
  • full / dir1
  • full / dir2
  • full / dir4
  • 来自/ dir3我只需要/ subdir1和/ subdir3

我可以使用某种深度的svn命令行检查这些文件/文件夹吗? 如果是这样我该怎么办? 我可以在结帐后将divir2添加到dir3吗? 如何更新以这种方式创建的工作副本?普通的“svn up”命令会仅更新这些文件夹还是会执行项目的完整更新?

2 个答案:

答案 0 :(得分:64)

您需要的是sparse checkout

在您的情况下,您可以:

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
  

我可以在结帐后将divir2添加到dir3吗?

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

  

如何更新以这种方式创建的工作副本?将正常的“svn up”   命令只更新这些文件夹或项目的完整更新   执行?

是的,svn up将仅更新这些文件和文件夹,即保留更新深度。

答案 1 :(得分:0)

1)svn up --set-depth empty file / folder path

//它将从您的系统中删除该文件

2)svn up --set-depth infinity文件/文件夹路径

//它会将文件从svn服务器重新生成到您的本地系统