从Subversion签出一个文件

血红的双手。 提交于 2020-03-20 18:28:41

3 月,跳不动了?>>>

“无法检出单个文件。您可以在目录级别进行最精细的检查。”

使用Subversion时如何解决此问题?

我们在Subversion中有这个文件夹,我们保存所有图像。 我只想查看一个文件(图像)。 这个文件夹真的很大,还有很多我现在不需要的东西。


#1楼

做这样的事情:

mkdir <your directory>/repos/test

svn cat http://svn.red-bean.com/repos/test/readme.txt > <your directory>/repos/test/readme.txt

基本上这个想法是创建你想从SVN获取文件的目录。 使用svn cat命令并将输出重定向到同一命名文件。 默认情况下,cat会在stdio上转储信息。


#2楼

使用稀疏检出技术,您可以检查已经检出或存在的特定文件......使用简单的技巧:

在使用“仅此项目”选项检出存储库顶层之后,在Windows资源管理器中,您必须首先右键单击需要更新的文件; 在上下文菜单中选择Repo Browser; 在存储库浏览器中找到该文件AGAIN,然后单击鼠标右键。 您现在应该在上下文菜单中看到“更新项目到修订”。

我不确定它是一个无证的功能还是一个bug。 下班后我花了很长时间才终于找到了这个伎俩。 我正在使用TortoiseSVN 1.6.2。


#3楼

使用svn catsvn export

为此,您不需要获取工作目录,但您将无法提交您所做的任何更改。 如果您需要进行更改并提交它们,则需要一个工作目录,但不必完全获取它。 检查目录仍然/几乎为空的修订版,然后使用'svn cat'从HEAD中提取文件。


#4楼

尝试svn export而不是svn checkout 。 这适用于单个文件。

限制的原因是checkout创建了一个工作副本,其中包含有关存储库,修订版,属性等的元信息。元数据存储在名为“.svn”的子目录中。 单个文件没有子目录。


#5楼

如果要查看存储库中的readme.txt而不检查它:

$ svn cat http://svn.red-bean.com/repos/test/readme.txt
这是一个README文件。 你应该读这个。

提示:如果您的工作副本已过期(或者您有本地修改),并且您希望在工作副本中看到文件的HEAD修订版,则当您为其指定路径时,svn cat将自动获取HEAD修订版:

$ cat foo.c
此文件位于我的本地工作副本中,并且已进行了更改。

$ svn cat foo.c
来自存储库的最新修订!

资源

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!