svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出

对于一个大的版本库来说,本地工作目录签出整个目录树是即费时又占地儿的。
虽然可以只签出某个子目录树,但有时候还是需要从根目录签出。
那么,怎么才能只把自己感兴趣的子目录签出来呢?

从svn1.5版开始,提供了稀疏目录(Sparse Directories)功能,允许对目录设置深度(depth),
这个设置可以保存在工作目录上,以后svn update等命令都在这个设置下工作。

有以下几种depth可以选择:

--depth empty:只包含目录自身,不包含目录下的任何文件和子目录。
--depth files:   包含目录和目录下的文件,不包含子目录。
--depth immediates:  包含目录和目录下的文件及子目录。但不对子目录递归。
--depth infinity:  这是默认的,包含整个目录树。

例如,版本库有
trunk
branches
tags

branches下有很多子目录,b1,b2,b3....
本地希望签出trunk和b2,不关心b1和b3,那么可以这样操作:
1 使用--depth immediates签出根目录,这样会得到trunk,branches,tags三个空目录。
2 使用--depth infinity签出trunk,这样会得到trunk整个目录树。
3 使用--depth immediates签出branches,这样会得到b1,b2,b3....等空目录
4 使用--depth infinity签出b2,这样会得到b2整个目录树。

当执行svn update /的时候,不会把不关心的b1,b3签出的,因为depth已经"记忆"在工作目录上了。

当其他人向版本库里提交了branches/bx后,可以
使用--depth immediates签出branches,这样工作目录会增加bx空目录,而不会影响b1,b2,b3...。
再使用--depth infinity签出bx,即可。

另外,svn up有个参数--set-depth,可以修改保存在工作目录上的depth。

时间: 2024-10-17 19:38:10

svn稀疏目录--通过设置工作目录的深度(depth)实现目录树的部分签出的相关文章

获取当前目录getcwd,设置工作目录chdir,获取目录信息

#include <unistd.h> #include <stdio.h> #include <limits.h> int main(int argc, char* argv[]) { char buf[PATH_MAX]; getcwd(buf, PATH_MAX-1); printf("the current path is :%s\n", buf); return 0; } 设置工作目录: #include <unistd.h>

设置vim的默认工作路径同时与自动设当前编辑的文件所在目录为当前工作路径不冲突

问题: 想让vim自动设当前编辑的文件所在目录为当前工作路径不冲突,但是当vim新建文件的时候,工作路径会又自动切换缓存path下. 如何使当使用vim打开文件时,vim的工作路径是当前文件所在的路径.而当从vim里新建文件的时候,工作路径是自己预设的路径呢? 解决: "自动设当前编辑的文件所在目录为当前工作路径 exec 'cd ' . fnameescape('f:\code') set autochdir "注意,命令的执行顺序不能改变

VS下的解决方案目录结构设置和管理

转载:http://blog.csdn.net/pl20140910/article/details/52074165 为了方便管理自己写的代码,也为了日后工作能方便的查找之前做过相同的代码,仿照某源码结构,自己建了一个解决方案,以方便管理自己的代码,这样代码迁移也比较方便,不需要每次重新配置第三方库或其它需要依赖的库.下图为整个解决方案目录结构设置: 图1 VS解决方案目录结构设置 如上图,为了方便管理,以后所有的项目都写在AllProject解决方案里,途中红色的部分表示的都是文件夹,绿色的

Vs 2008 解决方案的目录结构设置和管理(转)

http://blog.csdn.net/lcj_cjfykx/article/details/8632459 MS的这个IDE,实在庞杂得恐怖.从大学开始,我就一直用VC的各个版本写程序至今,细细想来,也仅仅是窥豹一斑,羞愧不已.但若仔细翻阅文档,又觉得时间花得不值,于是便一直凑活地用着. 前段时间负责搭建新项目的开发环境,兼一直在看Gamebryo的代码,从中借鉴了不少工程管理的方法.结合以前使用VC的经验,现总结下来与大家分享,希望能起到抛砖引玉的作用. 项目目录结构 VC用解决方案(so

Visual Studio解决方案的目录结构设置和管理

摘至:http://blog.csdn.net/lp310018931/article/details/47991759 首先,解决方案和项目文件夹包含关系(c++项目): VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项 目,此时生成的最外层目录为fangan代表整个解决方案的内容都在这个文件夹内.在这个fangan文件夹内包含有fangan.sln的解决方案配置 文件和一个ssyy文件夹,ssyy

文件/目录权限设置命令chmod的详细用法

chmod是文件/目录权限设置的命令,在Linux中经常遇到,本博文以下总结chmod的详细用法. Linux/Unix的档案调用权限分为三级,即档案拥有者user.群组group.其他other.u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是. + 表示增加权限.- 表示取消权限.= 表示唯一设定权限. r表示可读取,w表示可写入,x表示可执行. 举例说明: (1).将档案file1.txt 设为所有人皆可读取: chmod u

IIS中的上传目录权限设置问题

虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少.说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Longhorn Server 的 IIS 7 也就要来了,相信会更好),性能和稳定性都相当不错.但是我发现许多用 IIS 的人不太会设置 Web 服务器的权限,因此,出现漏洞被人黑掉也就不足为奇了.但我们不应该把这归咎于 IIS 的不安全.如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是

[Ecmall]ECMALL目录结构设置与数据库表

最近在做ecmall的开发,ecmall在开源方面还有待进步啊,官方没有提供开发文档,也没有关于系统架构组织的贡献,使用者都要自己从0开始,官方论坛连二次开发板块都没有,都在哪瞎扯淡,广告一堆.可悲~~~ 自己做了一张图片,根据ecmall的程序结构图,可以清楚的知道ecmall的五脏六腑. ECMALL数据库主要表 ecm_acategory:存放的是商城的文章分类. ecm_address:存放的是店长的地址 ecm_article:存放的是商城的相关文章 ecm_brand:存放的是商城的

Linux系统下的Nginx的缓存设置、压缩配置和自动列目录配置

(本文内所有的centos系统命令均使用斜体加粗表示,以便各位阅读) 注意!本人使用的是Lnmp脚本模式安装的Nginx 1.8.0稳定版,如果是从官网下载的版本,nginx.conf的配置文件有些不同,但是骨架是一模一样的,不耽误阅读. 缓存设置 nginx的服务器缓存能力还是值得肯定的,服务器缓存的意思就是Web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存