Tortoise的非递归提交如何工作?

use*_*725 109 tortoisesvn commit non-recursive

我已经检查了本地SVN分支(我的分支)的副本,我从另一个分支(具有完全不同的文件夹结构)合并到该分支.所以基本上有很多删除(旧文件)和添加(新文件).

当我尝试将合并提交到存储库(到我的分支)时,Tortoise说

此提交不是递归的,并且已选择移动/重命名的文件夹进行提交.此类移动/重命名始终在存储库中递归执行.你想要提交吗?

继续这个提交是没关系的吗?如果没有,我应该怎么做才能没有问题?

另外,对于我添加的一些文件,我在添加后进行了更改(如果这会影响性质).

ich*_*748 123

由Google发现如何修复它:在提交窗口中按F5(不在"警告弹出窗口"中)

有关详细信息,请参阅http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2831045.

2011年8月26日22:39,Ryan J Ollos写道:

几个月以来,我一直在看到启动Commit时出现以下对话框.尝试在合并后提交时经常会发生这种情况.

我最近注意到的事情是,如果我取消然后手动刷新文件列表(F5),我第二次启动提交时不再看到该消息.提交似乎成功并没有进一步的问题.

提交对话框监视后台线程中的工作副本以获取更改通知.这些通知由操作系统发送,以防文件被修改/移动/重命名/ ...如果接收到这样的通知,则提交对话框首先进行一些检查,以便它可以丢弃大部分.如果通知指示未在提交对话框中检查且不可见的文件以某种方式更改,则会切换回非递归提交.那是因为如果你有一个文件在另一个编辑器中打开并在提交对话框打开时保存你的更改,那么即使你没有在提交对话框中检查它也会提交该文件(它没有显示出来)直到你用F5刷新对话框).

因此,如果您经常看到该警告对话框,请检查是否有其他工具/应用程序在运行副本中修改文件.

正如您所注意到的:如果您点击F5,则会重置"非递归标志",因为刷新后,您会再次看到所有文件 - 甚至是您在启动对话框后修改的文件.

斯特凡

  • 我刚刚尝试按 F5。效果是,现在,提交对话框文件列表显示了我的大部分文件*两次*(具有完全相同的路径和名称),并且当我尝试提交时*仍然*出现警告消息。 (3认同)
  • 答案中的链接似乎已失效。这是互联网档案馆中的有效内容 https://web.archive.org/web/20150306224932/http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2831045 (2认同)

Kev*_*ady 25

我有同样的问题,但通过将我标记为'ignore-on-commit'的文件恢复更改来解决它

一旦我恢复这些文件,然后tortoisesvn能够提交合并中的所有其他文件


Laz*_*ger 5

如果我继续这个提交,这样可以吗?

不,您的提交将忽略WC树中的所有更改,并仅反映根级别更改(已损坏的合并).

最初检出非递归时出错了.您可以尝试使用 --depth infinityCLI中的参数执行良好的完全提交,或者在TortoiseSVN GUI中找到此开关.

svn commit --depth infinity . -m "Merge"
Run Code Online (Sandbox Code Playgroud)

  • “最初检查非递归时您犯了一个错误。” 不,不一定。我像往常一样检查了我的厕所,但我仍然突然遇到这个问题。事实上,下面的任何替代解决方案似乎都不是这种情况。 (2认同)

yel*_*sir -4

我不知道 tortoisesvn 的选项,但你可以使用命令行

svn commit --non-recursive [folder]
Run Code Online (Sandbox Code Playgroud)

这就是工作,就像你喜欢的那样工作,谢谢