21

如何使用 TortoiseSVN “取消签出”子文件夹?


我尝试了什么:

前两个选项一开始似乎有效,但是当我在顶级文件夹上点击Check for modified时,它会告诉我子文件夹及其内容是 "missing"。这当然不是我想要的。

为了让事情更清楚,我的文件夹结构的相关位类似于:

//Repository/trunk/...
//Repository/branches
                     /some-feature-branch1/...
                     /some-feature-branch2/...
                     /some-feature-branch3/...
                     /some-feature-branch4/...
                     etc.

在过去,我做了以下事情:

  • //Repository/branches在本地签出文件夹,无需递归抓取内容。
  • 对某些(但不是全部)功能分支子文件夹进行了单独签出

我试图some-feature-branch3从我的本地磁盘中删除 -say- ,但这总是导致在检查“分支”文件夹进行修改时,子文件夹的状态“丢失”。

请注意,我更喜欢使用TortoiseSVN解决此问题的方法,但如果不可能,则命令行修复将是可接受的替代方案。

4

2 回答 2

39

在 SVN 1.7 中你可以做到svn up --set-depth exclude some-feature-branch3(不确定你是否可以在 SVN 1.6 中做到)。

在 Tortoise 中,您可以右键单击some-feature-branch3-> 'Update to Revision' -> 'Update Depth: Exclude' -> 'Make Depth Sticky'。

如果你不能在 1.6 中做到这一点,你可以只用 depth 做同样的把戏empty。它将离开目录本身,但它将是空的,这对于大多数实际目的来说已经足够了。

于 2012-06-04T10:49:11.743 回答
21

右键单击该文件夹并转到“更新到修订版...”。在弹出的对话框中,将更新深度设置为“排除”。(注意,这似乎只适用于文件夹。)这将从您的工作副本中删除它,但不会影响存储库。Tortoise 只会知道在更新期间不要尝试更新它。

为了撤消它,您可以右键单击父文件夹(或其父文件夹等)并选择“Repo Browser”。找到排除的文件夹,右键单击并选择“将项目更新到修订版”。你会得到同样的对话框;这一次,只要确保它显示“工作副本”即可。

于 2012-06-04T10:51:08.093 回答