目录
svn的工程可能很大 有时我们只需要部分文件即可 这里介绍几个命令
1.svn co(check out) --depth
--depth=empty,files,immediates,infinity
假设某svn结构如下
svn://root/PRO/A_dir/a
svn://root/PRO/B_dir/b
svn://root/PRO/c_file
svn co --depth=empty svn://root/PRO 此时只会在本地check out出 PRO/的空目录。
svn co --depth=files svn://root/PRO 此时只会在本地check out出 PRO/c_file 不会check A_dir和B_dir
svn co --depth=immediates svn://root/PRO 此时只会在本地check out出 PRO/c_file 和 PRO/A_dir PRO/B_dir的空目录不会在向下 A_dir/a和B_dir/b
svn co --depth=infinity svn://root/PRO 此时会更新出PRO下所有文件及子目录包括子目录内的所有内容
使用TortoiseSVN工具时的处理方式可参考如下:
2.svn up --set-depth
--set-depth=exclude,empty,files,immediates,infinity
假设某svn结构如下
svn://root/PRO/A_dir/a
svn://root/PRO/B_dir/b
svn://root/PRO/c_file
本地已经check出PRO/的空目录
svn up --set-depth=exclude A_dir 此时会更新出 B_dir/b和c_file不会更新出A_dir;而且后续直接使用svn up时也不会在更新出 A_dir
其他的4个命令和 svn co --depth的类似
使用TortoiseSVN工具时的处理方式可参考如下:
3.svn up --depth
这个命令的参数只有
--depth=empty,files,immediates,infinity
注意和svn up --set-depth= 的区别,后者多一个命令参数 exclude
--depth的常用方法是
svn up --depth=xxx svn://root/PRO/A_dir
此时A_dir会按照参数xxx进行更新 若不加路径名则没有效果
相比之下 svn up --set-depth=xxx后面可以不带路径名 表示对本层次所有的文件和目录更新属性