首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Subversion签出一个文件

从Subversion签出一个文件
EN

Stack Overflow用户
提问于 2008-09-23 16:26:32
回答 19查看 333.9K关注 0票数 333

“无法签出单个文件。您可以执行的最精细签出级别是目录级别。”

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

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

EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2008-09-23 16:58:28

简单的答案是签出文件,而不是签出它。

但这可能不是您想要的。您可能希望处理该文件并将其重新签入,而不必下载大量不需要的垃圾文件。

如果您有Subversion 1.5+,则执行稀疏签出:

代码语言:javascript
复制
svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>

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

  • 使用修订版本签出目录。
  • 更新所需的文件,以创建混合修订版本。即使您检查的out.
  • Profit!

版本中不存在该文件,也可以执行此操作

另一种选择(例如,如果目录中有太多来自创建它的修订版的垃圾)是将您想要的文件的URL->URL复制到存储库中的新位置(实际上这是文件的一个工作分支)。查看该目录并进行修改。

我不确定您是否可以在没有目标的工作副本的情况下将修改后的副本完全合并回存储库中-我从来不需要这样做。如果是这样,那么就这么做吧。

如果不是,那么不幸的是,您可能必须找到其他人签出整个目录,并让他们这样做。或者在你做了修改的时候,剩下的部分已经下载完毕了……

票数 412
EN

Stack Overflow用户

发布于 2008-09-23 16:29:13

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

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

票数 116
EN

Stack Overflow用户

发布于 2008-09-23 16:28:34

使用svn catsvn export

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

票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/122107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档