海王  

http://www.letuknowit.com/archives/svn-checkout-single-file/

有时候需要在svn版本仓库中某个比较上层的目录中(比如根目录)checkout某一个文件,例如下面的svn版本仓库中,我们需要checkout名为readme.txt的文件,而其他的几个文件夹中都有很多内容,如果我们直接checkout根目录的所有内容,肯定是不合算的。

$ svn list file:///usr/local/svn/calc/
branches/
tags/
trunk/
readme.txt

好了,你肯定想到了,我直接checkout这个文件就是,那么就试试下面的指令吧

$ svn co file:///usr/local/svn/calc/readme.txt
svn: URL 'file:///usr/local/svn/calc/readme.txt' refers to a file, not a directory

你将会得到一个“URL XXX refers to a file, not a directory”错误,这是因为checkout指令只能针对文件夹。
正确的做法应该是这样

$ svn co --depth=empty file:///usr/local/svn/calc calc_new
$ cd calc_new
$ svn up readme.txt

其中,calc_new为checkout后的文件夹名,自己可以随意指定,执行svn co命令后,会得到一个名为calc_new的空目录,里面什么都没有,而实现这一效果的就是参数中指定的depth=empty。
下一步就是进入刚刚checkout下来的calc_new目录,执行update操作,想取哪个文件就checkout哪个文件就好了。
原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/svn-checkout-single-file

posted on 2015-04-02 14:42  海王  阅读(19495)  评论(0编辑  收藏  举报