如何删除 SVN 的本地副本?

8
这里是情景...我还在使用Tortoise SVN...
我可以创建一个新文件夹并使用“仅此项”选项进行检出...这将只检出顶级文件夹,然后我可以进入存储库浏览器并选择想要“更新到修订版”的任何子文件夹(在存储库浏览器中右键单击,选择更新到修订版)...这将只下载该子文件夹... 是否有一种方法可以删除文件夹而不从存储库中删除它? 如果没有,我的另一个选择就是逐个检出子项目(这可能是最好的解决方案),让我们看看是否有人对上述问题有答案。
4个回答

11

我可能有点晚了,但我刚刚想到同样的问题并没有找到令人满意的答案。

我想到的答案是进行完整的检出,然后:

  1. 更新到特定版本...
  2. 更新深度 -> 选择项目...
  3. 取消勾选任何你不想要的项目。

勾选 "使深度保持不变" 将会在未来的更新中保留这个深度。


6
从本地仓库中删除以前检出的文件夹,而不将其标记为已删除,请使用以下命令:
svn update <yourfolder> --set-depth=exclude

3

按照您的建议,逐个检查子目录(可以将其视为自己的存储库)是最清晰的方法。这在我看过的像根目录下这样的SVN存储库中很常见。

/
  /proj1
    /trunk
    /branches
    /tags
  /proj2
    /trunk
    /branches
    /tags

这种方法的问题(至少在我的情况下)是稀疏检出不会包括外部文件夹。如果我想从本地工作副本中删除一个文件夹,同时保留外部文件夹怎么办?(这是我的情况)。 - FTM

2

如果你从本地工作目录中删除该文件夹,这不会影响仓库中的版本。只有当您执行“svn delete”并提交更改时,它才会实际从仓库中删除该目录。


3
这只影响他的工作副本,但这也意味着 svn stat 将显示一个感叹号状态来表示缺失的文件/目录,Windows资源管理器/Tortoise将在父目录中显示一个感叹号以及缺失目录/文件的灰色版本(如果我没有记错的话,因为我很久没用过Tortoise了)。此外,每次他在父目录或以上地方使用 svn up,这些文件都会被还原。这不是一个很大的问题,但仍然很烦人。 - whaley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接