如何使用TortoiseSVN进行非递归提交?

时间:2009-03-16 10:16:44

标签: tortoisesvn commit

当我在我检出的最顶层目录上修改一个属性(例如,svn:ignore)时(大部分时间它都是trunk),使用TortoiseSVN,客户端递归地完成整个项目。

大树,大量数据,需要很长时间。

我该如何避免这种情况?其他地方可能会有变化,但我知道我对它们不感兴趣并且无论如何都要取消它们。

我知道稀疏结账功能,但我不知道如何应用此功能,因为我没有稀疏结账。我是否需要创建第二个稀疏结账,应用更改/提交然后更新我的其他副本?

2 个答案:

答案 0 :(得分:7)

尝试:

svn commit --non-recursive [target]

[编辑: OP更新了他的问题以澄清他指的是TortoiseSVN,而不是常规的Subversion命令行。]

不,TortoiseSVN没有提供非递归提交的直接方法。但是,如果您在目录的顶层提交了某些内容但某些内容较低级别(例如,取消选择它),这必然会导致发生非递归提交。请参阅here

因此,有一种解决方法。如果您确实想要这样做并且您不喜欢命令行,只需对基础目录中的文件进行微不足道的更改,在取消选择虚拟更改时提交实际文件,然后还原虚拟更改。这将迫使TortoiseSVN进行非递归提交。

答案 1 :(得分:0)

由于您正在对目录进行操作,因此龟会认为它可能会影响其中的所有内容,因此在工作副本中一直向下看。

对工作副本的检查应该相当快,即使对于大型仓库也是如此,因为它是文件系统上的本地操作,不涉及网络操作

在Tortoise找到所有修改过的文件后,你可以只选择你关心的文件并提交那些文件。

在任何情况下,不同之处在于目录的处理方式与普通文件不同,这种处理方式的差异甚至可能会转发颠覆本身的行为,而不仅仅是龟语。

相关问题