很多时候,你的svn repo(假定project)很大(这里指包括所有tags和branches),但是其实你真正需要的却只有一两个(比如说trunk,以及和trunk平级的install目录,同时install目录和trunk目录有着这样活那样的联系),这时你就希望在svn co的时候是co整个project并且忽略你不想要的目录。当然,你大可不必co整个project,而单独co你想要的目录就行了。但是,从SCM的角度出发,你不可以强行改变用户的使用习惯,不排除就有这么些人喜欢这样操作,尤其是对于那些喜欢用命令行的人而言。
可能我这么说,大家没有什么概念,我给大家举个例子,大家应该就知道这是一种什么情况了:
大家都知道,在一个项目的SCM管理中,往往要求开发者通过打tag的方式来进行版本发布,tag存在于tags目录,tags目录往往与trunk/branches目录平级,这里还有一个install目录,如下:
- project/
- |-- branches
- | |-- branch1
- | |-- branch2
- | `-- branch3
- |-- install
- |-- tags
- | |-- tag1
- | |-- tag2
- | |-- tag3
- | |-- tag4
- | `-- tag5
- `-- trunk
- `-- src
tags目录虽然是一个标签副本,但在checkout的过程中,是会针对一份完整代码的,因此很多人都不希望在本地的working copy中保留这个tags目录。遗憾的是,svn co命令并没有这样一个选项去忽略这个目录。
事实上,我也遇到了这个问题,在我看了很多help之后,终于找到了办法。具体如下(分两种情况讨论):
I. 本地保存有完整的Working Copy情况:
换句话说就是,你已经将svn中完整的repos/directories checkout到本地了(本地已经有一份你在服务器端的完整Copy了)。这时,你只需要运行以下命令将tags以及branches目录排除在svn up列表:
- # svn update --set-depth=exclude tags branches
- D tags
- D branches
选项后面可以跟多个目录,这样,就在你当前的working copy中成功的将tags和branches目录排除掉了,在你下一次的update中,就不会去理会这两个目录了,但同时有保证了你的project是在version control下的,因此不需要每次都逐个进入目录进行svn up了。
II. 进行一次全新的忽略目录Checkout操作:
这种情况如果是在windows下,就显得非常简单,你只需要使用乌龟客户端的“Choose Item”按钮。
但是如果是在命令行的情况下,那就要稍微复杂一点了,请按照如下操作:
1. 首先将目录树checkout到本地:
- [root]@[Fck_with_U]:[~/temp]->>svn co http://svn_test_url.com/test_dir my_checkout --depth immediates
- A my_checkout/backup
- A my_checkout/doc
- A my_checkout/scripts
- A my_checkout/src
- A my_checkout/data
- A my_checkout/tool
- Checked out revision 736189.
2. 将你不想co的目录排除在外(比如这里我想排除backup, data, doc, src, tool这五个目录,只想checkout scripts目录):
- [root]@[Fck_with_U]:[~/temp]->>cd my_checkout/
- [root]@[Fck_with_U]:[~/temp/my_checkout]->>ls
- backup data doc scripts src tool
- [root]@[Fck_with_U]:[~/temp/my_checkout]->>svn up --set-depth=exclude backup data doc src tool
- D backup
- D data
- D doc
- D src
- D tool
3. 更新你想要的scripts目录:
- [root]@[Fck_with_U]:[~/temp/my_checkout]->>svn update --set-depth infinity scripts/
- A scripts/trunk
- A scripts/trunk/test
- ...........
这样,目的就达到了!说烦也不烦!
相关推荐
TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-1.10.1.28295-win32-win64-svn-1.10.2TortoiseSVN-...
SVN 客户端下载 TortoiseSVN-1.14.6.29673-x64-svn-1.14.3
1、cmd进入py文件目录下执行py文件加入--help查看帮助,命令C:\change-svn-wc-format>change-svn-wc-format.py --help 2、cmd执行下面命令,把项目对应SVN从1.5降为1..4 change-svn-wc-format.py d:\Mydropbox\...
这个压缩包包含了两个不同版本的AnkhSvn插件:AnkhSvn-2.1.7444.278.msi和AnkhSvn-2.1.8420.8.msi。这两个版本可能在功能上有所差异,适应不同的系统环境或者与Visual Studio的兼容性。 首先,我们来了解一下Ankh...
总之,SVN-1.14.1.29085-x64-svn-1.14.1和TortoiseSVN-1.14.1.29085-x64-svn-1.14.1.msi的组合提供了一个强大的版本控制解决方案,加上中文语言包,使得中国用户在软件开发和协作过程中能够更加高效和便捷地管理代码...
标题中的"TortoiseSVN-1.8.8.25755-x64-svn-1.8.10"和"AnkhSvn-2.5.12471.17"指的是两个不同的Subversion(SVN)客户端工具。Subversion是一种版本控制系统,用于管理文件和目录的版本历史,对于软件开发团队协作...
SVN-site-1.8.22是SVN的一个特定版本,专注于提供网站或项目站点的部署功能。 在离线安装包中,"site"通常指的是服务器端的配置文件、文档、示例和脚本等资源,这些对于搭建和管理SVN服务器至关重要。在提供的文件...
《TortoiseSVN-1.14.5.29465-x64-svn-1.14.2.rar:一个强大的版本控制系统工具》 TortoiseSVN,这个名字可能对许多开发者而言并不陌生,它是一个高度集成在Windows资源管理器中的Subversion(SVN)客户端。这个名为...
在这个标题为"TortoiseSVN-1.11.0.28416-x64-svn-1.11.0 英文安装包(64位)"的压缩包中,包含的是TortoiseSVN的1.11.0版本,针对64位系统的英文安装程序。 Subversion(SVN)是一个开源的版本控制系统,用于管理...
这个标题"**TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi包含中文语言包**"指的是TortoiseSVN的特定版本1.7.12,该版本适用于32位Windows系统,并且包含了中文语言支持。这意味着用户在安装这个软件后,可以使用...
svn-python-1.6.6.win32-py2.5.exe
TortoiseSVN-1.8.0.24401-X64-svn-1.8.0 汉化包64位
TortoiseSVN-1.8.4.24972-x64-svn-1.8.5 中文语言包64位
这个压缩包“TortoiseSVN-1.9.7.27907-x64-svn-1.9.7”包含了TortoiseSVN的1.9.7版本,这是一个64位的应用程序,适用于Windows操作系统。此版本号(1.9.7.27907)表明这是该软件的一个稳定版本,提供了若干改进和...
【前端开源库-svn-spawn】是一个专门为前端开发者设计的开源工具,它允许开发者通过命令行接口(CLI)与Subversion(简称svn)版本控制系统进行交互。Subversion是一款广泛使用的版本控制系统,用于管理源代码和其他...
TortoiseSVN-1.14.6.29673-x64-svn-1.14.3.msi.cab
"SVN-site-1.8.22.rar" 是一个包含Eclipse SVN插件的压缩包,适用于Eclipse IDE,版本为1.8.22。这个插件使得开发者能够在Eclipse环境中直接进行SVN操作,如代码的提交、更新、冲突解决等。 Eclipse是一款功能强大...
TortoiseSVN-1.14.1.29085-x64-svn-1.14.1.msi
64位系统的TortoiseSVN-1.14.3.29387-x64-svn-1.14.2
《TortoiseSVN-1.14.0.28885-x64-svn-1.14.0及其简体中文语言包详解》 TortoiseSVN,一个深受开发者喜爱的版本控制系统客户端,是Subversion(SVN)在Windows平台上的图形化界面。版本号为1.14.0.28885的x64位版本...