svn签深度
问题描述:
我有一个SVN项目有树这样的: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
我需要从/项目
- 所有文件
- full/dir4
- From/dir3我只需要/ subdir1和/ subdir3
我可以使用svn命令行检查这些文件/文件夹的某种深度吗? 如果是的话我该怎么办? 结帐后可以将subdir2添加到dir3吗? 如何更新以此方式创建的工作副本?将正常的“svn up”命令只更新这些文件夹或完整更新项目将执行?
答
你需要的是叫做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
我可以添加subdir2结账后DIR3?
是:svn up --set-depth infinity dir3/subdir2
创造了这个办法,我如何更新工作副本?将正常的“svn up” 命令更新只有这些文件夹或完整更新的项目才会执行 ?
是的,svn up
将只更新这些文件和文件夹,即更新深度将被保留。
答
1)使用svn了--set深入的空文件/文件夹的路径
//它会从系统中删除该文件
2)使用svn了--set-无限深度文件/文件夹路径
//它将从SVN服务器上的文件重新生成到本地系统
感谢lot.So如果我明白,如果一个新的文件夹(例如dir5)将被添加到项目也不会被更新。我对吗? – 2012-07-26 06:17:07
是的,dir5的父文件夹已将depth设置为'files',因此将更新新文件,但不会更新新文件夹。 – ks1322 2012-07-26 07:43:37
如果你想自动添加新的*子目录,使用'--depth immediates'而不是'--depth文件'应该可以做到。 – 2013-11-11 12:06:51