从svn1.5版开始,提供了稀疏目录(Sparse Directories)功能,允许对目录设置深度(depth),
这个设置可以保存在工作目录上,以后svn update等命令都在这个设置下工作。
步骤
先checkout整个项目
工具选择infinity,也可以用命令行的方式:
1 | svn co --depth infinity https://192.168.1.1/svn/project |
命令行排除需要排除的文件或文件夹
工具貌似没有,或许是我没找到
多个用空格分隔
这里排除项目下的.myeclipse文件夹和target文件夹
1 | svn update --set-depth=exclude project/.myeclipse project/target |
完成,重启一下开发工具或者直接去文件夹下,会发现排除的都不见了。
只检出部分目录方法
检出项目目录(不包含任何文件和子目录)
执行后会生成一个以项目名称结尾的空文件夹,这里生成project文件夹
1 | svn co --depth empty https://192.168.1.1/svn/project |
更新需要检出的文件夹或文件
比如我只要src文件夹,命令如下
1 | svn update --set-depth infinity project/src |
这里放上检出深度各选项含义
检出深度
你可以选择要检出的深度,它允许你指定子目录递归的深度。如果你只需要大目录中的几个子条目,你可以只检出最高层目录,然后递归的更新选择的目录。
全递归
1 | --depth infinity |
检出完整的目录树,包含所有的文件或子目录。
直接节点,包含目录。
1 | --depth immediates |
检出目录,包含其中的文件或子目录,但是不递归展开子目录。
文件子节点
1 | --depth files |
检出指定目录,包含所有文件,但是不检出任何子目录。
仅此项。
1 | --depth empty |
只检出目录。不包含其中的文件或子目录。
工作副本
1 | working copy |
保持工作副本指定的深度。此选项不用于检出对话框,但它是其它所有含有深度配置对话框的默认配置。