撤消TortoiseSVN中子文件夹的签出

时间:2012-06-04 10:40:13

标签: svn tortoisesvn


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


我尝试了什么:

前两个选项似乎最初有效,但当我在顶级文件夹中点击检查修改时,它会告诉我子文件夹及其内容“丢失”< / strong>即可。这当然不是我想要的。

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

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

过去我做过以下事情:

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

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

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

2 个答案:

答案 0 :(得分:39)

在SVN 1.7中,您可以svn up --set-depth exclude some-feature-branch3(不确定是否可以在SVN 1.6中执行此操作)。

在Tortoise中,您可以右键点击some-feature-branch3 - &gt; '更新到修订' - &gt; '更新深度:排除' - &gt; '让深度粘滞'。

如果你不能在1.6中做到这一点,你只能使用深度empty做同样的技巧。它将离开目录本身,但它将为空,这对于大多数实际目的而言足够了。

答案 1 :(得分:19)

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

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