Tortoise SVN:如何svn更新文件夹,但不是它的子文件夹?

时间:2010-11-27 16:09:10

标签: svn file tortoisesvn subdirectory

这可能是一个简单的解决方案,但我可能并不擅长使用Tortoise SVN。

我有一个工作指导,我前段时间检查过:

/folder
   file1
   file2
   /subfolder1
   /subfolder2

现在我要做的就是 SVN UPDATE我的工作目录仅针对/folder中的文件,但不包括其子文件夹。我该怎么做?

请注意,SVN服务器存储库上的 /folder现在包含我希望在工作目录中看到的新文件file3file4 SVN UPDATE。

编辑,因为可能不清楚:在SVN UPDATE期间SVN不能触及子文件夹,我根本不想让它触摸它们。我尝试使用 Greg 答案,但它不起作用,并且警告:在更新期间,子文件夹1和子文件夹2将从您的工作副本中获得删除

感谢。

3 个答案:

答案 0 :(得分:27)

您可以使用以下命令非递归地进行SVN更新:

svn update --depth=files

--depth参数可以采用以下参数:emptyfilesimmediatesinfinity

要使用GUI而不是命令行执行此操作,您可以使用Update to revision,可在此处找到:

alt text

然后选择Head修订版,您可以指定更新的递归方式: alt text

在您的情况下,选择Immediate children, including folders将是最合适的。

答案 1 :(得分:11)

我通常会从“检查修改”对话框中执行部分更新。我启动它,点击“检查存储库”以获取可用更新,然后右键单击我想要获取的确切项目。

答案 2 :(得分:1)

使用TortoiseSVN的Update代替Update to Revision。指定HEAD作为要更新的修订版(或要更新的修订版),然后选中“仅更新顶部文件夹”框。

如果您通过TortoiseSVN发出SVN命令或者您正在使用命令行SVN客户端,Greg的解决方案可以正常工作。