SVN删除本地文件,保留在存储库中

时间:2012-03-05 14:44:37

标签: svn version-control

所以这是一个我没见过的问题。

我正在使用subversion 1.7

我在一个我不需要的目录上做了一个“svn co”,但无法从存储库中删除(其他人需要它)。我可以删除目录的本地副本,这很好,但是当我在root上运行“svn up”恢复已删除的目录时。

  /rootDir
        /folder1.      
        /unneededFolder

我可以删除不必要的文件夹,但是当我在rootDir上运行更新时,svn一直试图恢复它(而不是必须在每个子目录上运行svn)。如何告诉svn停止更新我的工作副本中的该文件夹而不将其从存储库中删除?

3 个答案:

答案 0 :(得分:8)

最简单的方法是使用:

svn update --set-depth exclude <dir>

这会从您的工作副本中删除 ,但请将其保留在存储库中。

请参阅Sparse Directories上的文档。

答案 1 :(得分:0)

-N上的选项svn update将导致更新不是递归的;并且只会更新当前工作目录中的内容。

答案 2 :(得分:0)

您需要使用svn客户端的--depth选项(调用稀疏结账)。这意味着您必须使用--depth选项单独检出以限制将要检出的目录级别数。这意味着在你的情况下:

svn co URL rootDir --depth=immediate

比你有一个不包含所有级别的工作副本。现在,您可以转到您希望拥有所有级别或有限级别的目录。我们假设你去了folder1:

svn update --depth=infinity

所以在那之后你将无法获得不需要的文件夹的内容,除非你进入该文件夹并执行:

svn update --depth=infinity

权衡的是,如果你曾经做过一次无限,就不能回去。

此外,您正在谈论存储库,但您的意思是工作副本。