如何使用TortoiseSVN“取消”子文件夹?
我尝试了什么:
.svn
文件夹中查看是否可以手动编辑内容前两个选项似乎最初有效,但当我在顶级文件夹中点击检查修改时,它会告诉我子文件夹及其内容“丢失”< / 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 解决此问题的方法,但如果不可能,则命令行修复将是可接受的替代方案。
答案 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”。找到排除的文件夹,右键单击并选择“将项目更新到修订版”。你会得到同样的对话;这一次,只要确保它说“工作副本”。