如何在不检查整个源的情况下单独检出几个文件和文件夹

Pri*_*aka 18 svn tortoisesvn svn-checkout

在我的项目中,我有很多文件夹.我当然知道我想要只更改少量文件(大约15个),每个文件都在7个不同的文件夹中.此外,我不想检查整个源来完成它.是否可以仅签出所需的文件夹?

对于不同的来源,我经常会遇到这种情况.是否可以一次只签出选定的文件夹?

编辑

比方说,我有一个源文件夹包含.5个子文件夹.喜欢,

资源

- 核心

- 助手

- 扩展

- 主题

- 资源

而且,我想单独签出Extensions和Themes文件夹.但是,我不想单独检出每个文件夹.我想要它,我会给出结帐位置svn.svnhost.com/trunk/project1/source.[然后,我会选择ExtensionsThemes提供一次退房]

预计结账:

资源

- 扩展

- 主题

就像是:

svn co svn.svnhost.com/trunk/project1/source --foldernames Extensions, Themes
Run Code Online (Sandbox Code Playgroud)

Jes*_*erE 23

除了检查你想要的文件夹(只有在你想要整个子文件夹树时才有效),Subversion 1.7支持一些称为" 稀疏目录 "的东西.基本上,您可以将文件夹签出到某个深度,然后"向下钻取"到您感兴趣的文件夹中.

使用命令行客户端,使用--depth--set-depth选项svn update.如果您使用的是TortoiseSVN,则结帐对话框中会显示"Checkout Depth"选项.

编辑:为了澄清你的具体问题,你首先要检查你的源树深度"immediates".这将为您提供所有文件夹,但它们最初将为空.然后,您可以通过将它们更新为"完全递归"深度(或TortoiseSVN"更新到版本→更新深度→"完全递归")来深入查看扩展主题目录svn update --set-depth infinity.

编辑:更新深度可以看作是一种"可见性级别",并且被Subversion记住,即如果你svn update在工作副本上执行,它将只更新到当前的可见性级别.

  • JesperE:该手册说您不能降低可见性级别,但是使用svn 1.6不再是正确的:诸如“ svn up --set-depth exclude foobar”之类的东西现在确实可以工作。 (2认同)

Jam*_*mes 5

是的,看看你是否有一个存储库地址:

https://elastik.svn.sourceforge.net/svnroot/elastik/
Run Code Online (Sandbox Code Playgroud)

只需将您想要的文件夹添加到最后.所以,如果我只想要"trunk/includes"文件夹:

https://elastik.svn.sourceforge.net/svnroot/elastik/trunk/includes
Run Code Online (Sandbox Code Playgroud)


Kir*_*ira 5

我知道这个问题已有5年以上的历史了,但是我的回答可能会帮助那些现在正在研究这个问题的人。

我使用的是乌龟SVN版本1.9,在结帐前有一个“选择项目”选项。我们可以选择所需的文件夹/文件以从存储库浏览器中检出。在此处输入图片说明

  • 那么,如何将其转换为实际的svn命令? (3认同)