2014-11-14 77 views
0

是否有可能将SVN工作副本恢复为稀疏结帐?将SVN回购还原为稀疏结帐(undo'svn up --set-depth infinity')?

我有一个非常大的存储库的稀疏结帐。我在其中一个子文件夹上运行了svn up --set-depth infinity,但这导致检出许多我不想要的文件。如果我可以放弃时间,我会在子文件夹中输入svn up --set-depth immediates,然后只在我关心的子文件夹(而不是整个子树)中递归地执行此操作。

我没有变化我需要保留在这个子树中,所以我很乐意做相当破坏性的事情来恢复它。但是,我确实在不同的子树中进行了更改,所以我宁愿不要扔掉整个工作副本。有没有一种方法(或黑客)我可以删除子树,然后告诉SVN只更新到深度immediates

+1

在子文件夹上做另一个'svn up --set-depth immediates'有什么问题? – Ben 2014-11-14 15:25:48

+0

@Ben - 我认为这是不可能的,但我不知道为什么(也可能是错的)。我刚刚启动了这个命令,并会看到会发生什么(现在它只是挂着没有输出;我不知道我要等多久才能看到它是否正常工作,但是最初的'--set-depth infinity '更新花费了将近3个小时,所以可能需要一段时间 – sam 2014-11-14 16:03:13

+0

@Ben - 是的,这是有效的,谢谢,我实际上取消了我正在运行的命令并重新尝试在树的下方(所以它更快完成可以检查它是否正在工作) - 之前该命令看起来已被挂起。 – sam 2014-11-14 17:47:05

回答

1

根据@ Ben的评论,您可以通过运行svn up --set-depth immediates来取消此操作。

请注意,如果结帐非常大,这可能需要很长时间!

[已更新:]命令完成后,您需要删除所有已签出的额外文件(--set-depth不会删除它们)。