小小博客,不足为外人道
分类: 项目管理
2014-06-13 10:34:42
在Subversion1.5.0版本以前,想要checkout出单个文件是不可能的事情。 而在Subversion1.5.0中,引入了稀疏检出(Sparse checkouts)的特性,这使得检出单个文件成为可能。
假设我们有一个版本库,访问地址为
project1里面有一个目录images,目录里有很多图片文件,我们只想单独检出其中的logo.jpg
logo.jpg完整访问地址为
我们可以这样操作:
A 通过命令行操作
1、检出目录images
svn co --depth=empty http://www.iusesvn.com/project1/images images_work_dir
这样就在本地形成了一个工作拷贝目录images_work_dir
2、进入images_work_dir目录,单独更新logo.jpg
svn up logo.jpg
这样,我们就单独检出了logo.jpg,后面就可以对这个文件进行修改、提交等操作。
B 通过TortoiseSVN操作
目前还不清楚TortoiseSVN该如何操作,希望知道的朋友补充
根据楼主上面的提示,我使用TortiseSVN客户端试验了一下,能正常检出,我做如下补充(还以楼主举的例子为例)。
1、使用TortiseSVN客户端(以1.5.3版为例)右键菜单中的“svn checkout”检出logo.jpg文件的上级目录images文件夹,在检出窗口中的“检出深度”处要选择“仅此项”,这样检出来才是一个空目录,本地命名为temp。
2、然后在temp文件夹上点右键,在弹出的TortiseSVN右键菜单中选择“检查更新”,在“检查更新”窗口中点击“检查版本库”,会列出该“images”目录下的所有文件。
3、在“检查更新”窗口中选中要检出的“logo.jpg”文件,点右键,在右键菜单中选择“更新”,即可将该文件单独检出。
注意:本文所做的操作需要1.5.0或以上的Subversion客户端,即文中的svn程序需要1.5.0版本或以上,但是服务器端版本没有要求,1.5.0以下的也可以。