46

我有一个像这样的树的 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 中的所有文件
  • 完整的 /dir1
  • 完整的 /dir2
  • 完整的 /dir4
  • 从 /dir3 我只需要 /subdir1 和 /subdir3

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

4

2 回答 2

75

您需要的称为稀疏结帐

在您的情况下,您可以:

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 up”命令会只更新这些文件夹还是会执行项目的完整更新?

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

于 2012-07-25T20:51:11.457 回答
0
  1. svn up --set-depth empty file/folder path
  • =>它将从您的系统中删除文件**
  1. svn up --set-depth infinity file/folder path
  • => 它会将文件从 svn 服务器重新生成到您的本地系统**
于 2016-09-29T12:54:27.497 回答