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

SVN删除本地文件,保留在存储库中,svn,version-control,Svn,Version Control,所以这里有一个我没见过的问题 我正在使用subversion 1.7 我在一个我不需要的目录上做了一个“svn co”,但无法从存储库中删除(其他人确实需要它)。我可以删除目录的本地副本,这很好,但是当我在root up上运行“svn up”时,会恢复已删除的目录 /rootDir /folder1. /unneededFolder 我可以删除不需要的文件夹,但当我在rootDir上运行update时,svn会一直尝试恢复它(而不是在每个子目录上

所以这里有一个我没见过的问题

我正在使用subversion 1.7

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

  /rootDir
        /folder1.      
        /unneededFolder

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

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

您需要使用svn客户端的--depth选项(称为稀疏签出)。这意味着您必须使用--depth选项进行单独的签出,以限制要签出的目录级别的数量。这意味着在你的情况下:

svn co URL rootDir --depth=immediate
您有一个不包含所有级别的工作副本。现在,您可以转到您想要的所有级别或有限级别的目录。假设您转到folder1:

svn update --depth=infinity
因此,在此之后,您将无法获取不需要的文件夹的内容,除非您进入该文件夹并执行以下操作:

svn update --depth=infinity
取舍是,如果你做了一次无限,你就不能回去


此外,您指的是存储库,但您指的是工作副本。

最简单的方法是使用:

svn更新--设置深度排除

这将从工作副本中删除,但将其保留在存储库中


请参阅上的文档。

将-N选项标记为已弃用。您应该使用--depth=…来代替。谢谢。实际上,我已经或多或少地按照您所说的那样做了,只是从根目录中签出了即时消息,然后根据需要使用“svn update”。我从中了解到,您无法“撤消”文件夹上的“svn更新”。一旦您更新了它一次,就无法从本地副本中删除它,也无法阻止它在根目录的“svn update”中返回。修复它的方法是完全删除本地副本,重新签出根目录并更新我需要的文件夹。坦斯克!