1

当我在我签出的最顶层目录上修改一个属性(例如,svn:ignore)时(大多数时候它是主干,无论如何),使用 TortoiseSVN 客户端递归地遍历整个项目。

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

我怎样才能避免这种情况?其他地方可能会有变化,但我知道我只是对它们不感兴趣,无论如何都取消选中它们。

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

4

2 回答 2

7

尝试:

svn commit --non-recursive [target]

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

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

因此,有一种解决方法。如果您真的非常想这样做并且您不喜欢命令行,只需对底层目录中的文件进行微不足道的更改,在取消选择虚拟更改的同时提交您的真实文件,然后恢复虚拟更改。这将强制 TortoiseSVN 进行非递归提交。

于 2009-03-16T10:22:39.310 回答
0

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

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

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

无论如何,区别在于目录与普通文件的处理方式不同,这种处理方式的差异甚至可能取决于颠覆本身的行为方式,而不仅仅是 Tortoise。

于 2009-03-16T17:54:27.807 回答