Tortoisesvn 跳过记录合并信息

Posted

技术标签:

【中文标题】Tortoisesvn 跳过记录合并信息【英文标题】:Tortoisesvn skips recording mergeinfo 【发布时间】:2015-02-03 18:12:06 【问题描述】:

我已经从我们的一个 svn 存储库中检查了树干。

然后我右键单击->合并->合并一些修订->从分支A合并->选择一个修订,然后最后应用合并。

我的 TortoiseSVN 更新文件,并更新合并信息。 当我将这些更改提交到主干时,tortoisesvn 会向我显示要提交的文件,以及由于 svn:mergeinfo 已更新而受影响的 /trunk 文件夹。

我的同事安装了完全相同的 tortoisesvn,并且执行完全相同的操作。我们有完全相同的全局忽略模式。当他执行合并过程时,主干上的 svn:mergeinfo 属性不会更新。只有文件被合并。这怎么可能?是否有设置告诉 tortoisesvn 在合并时不要包含 mergeinfo?

【问题讨论】:

您和您的同事是否拥有相同版本的 Tortoise?如果有,是什么版本? TortoiseSVN 1.8.8,内部版本 25755 - 64 位,2014/08/10 14:44:06 Subversion 1.8.10,-release apr 1.5.1 apr-util 1.5.3 serf 1.3.7 OpenSSL 1.0.1i 2014 年 8 月 6 日 zlib 1.2.8 我们的版本相同 合并对话框中有一个带有“忽略祖先”标签的复选框。不得勾选。 TomWolk 你拯救了我的一天...月 :) 【参考方案1】:

合并对话框中有一个带有“忽略祖先”标签的复选框。千万不能查!

@TomWolk 的这条评论为我解决了问题。

【讨论】:

@TomWolk 的哪个回答? 第一个问题是@TomWolk的评论。【参考方案2】:

嗯,这很尴尬。 如果您进行了合并,并且要合并的 URL 的基本 URL 与您的工作副本的结帐 URL 不同,则合并将执行,但不会记录任何合并信息。

URL 字符串的区别在于大写字母 (!)。所以这意味着要合并的 URL 必须完全等于您的主干,也是字母的大小写。

这一定是tortoiseSVN的bug吧?

示例: 从 http://****/svn/repo/trunk 签出中继 尝试从 url http://****/svn/Repo/branches/**** 合并

这将进行合并,但不记录合并信息

【讨论】:

当我在 Tortoise 和命令行客户端都尝试这样做时,我得到一个错误:“svn: E195012: 'server/Repo/trunk' must be from the same repository as 'workingcopy`”。你确定这是问题吗?如果您可以重现它(最好是在脚本中),那么 Tortoise 和 SVN 开发人员都可能热衷于看到它。 我在我的机器和另一台机器上复制它。我不知道如何在脚本中重现它,没有尝试过命令行合并,只有 tortoisesvn。 我在 tortoisesvn 社区 tortoisesvn.tigris.org 上发布了一个主题为“未记录合并信息”的主题 我发现我们在移动我们的 SVN 服务器后遇到了同样的问题......但是,工作副本中显示的 repo 路径和远程路径是相同的;在我们的案例中没有案例问题。

以上是关于Tortoisesvn 跳过记录合并信息的主要内容,如果未能解决你的问题,请参考以下文章

SVN服务器搭建和使用

SVN服务器搭建和使用

SVN服务器搭建和使用

SVN与TortoiseSVN实战:TortoiseSVN新建及合并分支

TSQL 合并:<WHEN NOT MATCHED> 不跳过重复项

TortoiseSVN中分支和合并实践