所以这是一个我没见过的问题。
我正在使用subversion 1.7
我在一个我不需要的目录上做了一个“svn co”,但无法从存储库中删除(其他人需要它)。我可以删除目录的本地副本,这很好,但是当我在root上运行“svn up”恢复已删除的目录时。
/rootDir
/folder1.
/unneededFolder
我可以删除不必要的文件夹,但是当我在rootDir上运行更新时,svn一直试图恢复它(而不是必须在每个子目录上运行svn)。如何告诉svn停止更新我的工作副本中的该文件夹而不将其从存储库中删除?
答案 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
权衡的是,如果你曾经做过一次无限,就不能回去。
此外,您正在谈论存储库,但您的意思是工作副本。