svn checkout单个文件

有时候需要在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

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

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

其中,calc_newcheckout后的文件夹名,自己可以随意指定,执行svnco命令后,会得到一个名为calc_new的空目录,里面什么都没有,而实现这一效果的就是参数中指定的depth=empty
下一步就是进入刚刚checkout下来的calc_new目录,执行update操作,想取哪个文件就checkout哪个文件就好了。

相关文章
相关标签/搜索