20

在我的项目中,我有很多文件夹。我当然知道我只想对几个文件(大约 15 个)进行更改,每个文件都位于 7 个不同的文件夹中。另外,我不想检查整个源来完成它。是否可以仅签出所需的文件夹?

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

编辑

比如说我有一个源文件夹包含。5 个子文件夹。像,

来源

- 核

-- 帮手

-- 扩展

-- 主题

- 资源

而且,我想单独签出 Extensions 和 Themes 文件夹。但是,我不想单独签出每个文件夹。我想要它,我将签出位置指定为 svn.svnhost.com/trunk/project1/source。Extensions【那我Themes就选单签出】

预期结帐:

来源

-- 扩展

-- 主题

就像是:

svn co svn.svnhost.com/trunk/project1/source --foldernames Extensions, Themes
4

4 回答 4

25

除了只检查你想要的文件夹(只有在你想要整个子文件夹树时才有效),Subversion 1.7 支持称为“稀疏目录”的东西。基本上,您可以将文件夹检出到一定深度,然后“深入”到您感兴趣的文件夹中。

使用命令行客户端,您可以使用--depth--set-depth选项来svn update. 如果您使用的是 TortoiseSVN,在结帐对话框中有一个“结帐深度”选项。

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

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

于 2010-10-27T11:58:54.750 回答
6

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

I'm using tortoise SVN verion 1.9, it has an option "choose items" before checkout. We can choose required folders / files to checkout from the repository browser.enter image description here

于 2016-01-27T12:35:25.803 回答
5

是的,看看您是否有一个存储库地址,例如:

https://elastik.svn.sourceforge.net/svnroot/elastik/

只需将您想要的文件夹添加到末尾即可。所以如果我只想要“trunk/includes”文件夹:

https://elastik.svn.sourceforge.net/svnroot/elastik/trunk/includes
于 2010-10-27T10:48:34.553 回答
1

在 Tortoise 导航器中(右键单击)导航到特定文件夹并针对该位置执行结帐

于 2010-10-27T10:43:50.120 回答