从Subversion签出一个文件

“无法检出单个文件,您可以执行的最佳检出级别位于目录级别。”

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

我们在Subversion中有这个文件夹,我们保留了所有的图片。 我只想从中检出一个文件(图像)。 这个文件夹真的很大,还有很多我现在不需要的东西。


简单的答案是你svn export文件,而不是检出它。

但这可能不是你想要的。 您可能需要处理文件并重新检入,而无需下载不需要的垃圾文件。

如果你有Subversion 1.5+,那么做一个稀疏的结账:

svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>

对于较早版本的SVN,您可能从以下方面受益:

  • 在遥远的过去使用一个修订版检查目录,当它没有满足你不需要的垃圾时。
  • 更新你想要的文件,创建一个混合版本。 即使该文件在您签出的修订版中不存在,也可以使用。
  • 利润!
  • 另一种方法(例如,如果该目录对创建它的修订版本有太多垃圾),则需要将所需文件的URL-> URL副本放入存储库中的新位置(实际上,这是一个工作分支的文件)。 查看该目录并进行修改。

    我不确定您是否可以将修改后的副本完全归并到存储库中,而无需目标的工作副本 - 我从不需要。 如果是这样,那么做。

    如果没有,那么不幸的是,你可能不得不找到其他人检查了整个目录并让他们去做。 或者,也许在您进行修改时,其余部分将完成下载...


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

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


    使用svn catsvn export

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

    链接地址: http://www.djcxy.com/p/37519.html

    上一篇: Checkout one file from Subversion

    下一篇: How do I ignore files in Subversion?