【问题标题】:tortoisehg: kdiff3 doesn't run during mergetortoisehg: kdiff3 在合并期间不运行
【发布时间】:2014-08-18 22:59:54
【问题描述】:

我正在使用 tortoisehg。

当我从工作台的上下文菜单中选择“diff to parent”或“diff to local”时,Kdiff3 运行。但是,Kdiff3 在拉动后合并(与本地合并)时不会运行。合并工具只是说以下内容: % hg 合并 --verbose --tool=internal:merge 2 解决清单 合并 main.c.txt 警告:合并期间的冲突。 合并 main.c.txt 不完整! (编辑冲突,然后使用'hg resolve --mark') 0 个文件已更新,0 个文件已合并,0 个文件已删除,1 个文件未解决 使用“hg resolve”重试未解析的文件合并或“hg update -C”。放弃 [命令返回代码 1 Fri Jun 27 13:17:22 2014]

我在全局设置和存储库设置中都为三向合并工具和可视差异工具选择了 kdiff3。还有什么我必须做的吗?

更新:我的操作系统是 windows 7

另一个更新:(本地 repo 中的 .hgrc 如下所示)

[extensions]
hgext.extdiff =

[extdiff]
cmd.kdiff3 =

[merge-tools]
kdiff3.args = $base $local $other -o $output

更新 2 (Mercurial.ini):

[merge-tools]
kdiff3.priority=-1
kdiff3.args=--L1 base --L2 local --L3 other $base $local $other -o $output
kdiff3.regkey=Software\KDiff3
kdiff3.regappend=\kdiff3.exe
kdiff3.fixeol=True
kdiff3.gui=True

斯蒂芬

【问题讨论】:

  • 显示[ui]部分,来自mercurial.ini(和.hgrc)的merge键
  • 我在 [ui] 部分中唯一的项目是我的用户名。请查看我的原始帖子的更新,显示 .hgrc 和 Mercurial.ini 文件。

标签: mercurial windows-7-x64 tortoisehg kdiff3


【解决方案1】:
  1. Kdiff3 未在任何地方定义为 TortoiseHG 的合并工具(在全局或存储库上下文中)
  2. 如果为了使用 Kdiff3 作为 difftool,你不能拥有也不能启用 extdiff 扩展
  3. 两个(需要的)值可以并且已经在 TortoiseHG GUI 中定义:TortoiseHG - Global Settings - TortoiseHG

或者,对于 mercurial.ini 的文本演示

[ui]
merge = p4merge
...
[tortoisehg]
vdiff = p4merge

在我的情况下,我将 p4merge 定义为我所有存储库的 diff|merge 工具,并且必须在 GUI 中重新定义 repo 设置(或将更改的字符串写入 hgrc),仅当对于某些存储库我更喜欢使用其他工具时

【讨论】:

  • 为什么说它没有被定义为下拉框的合并工具?
  • 这里是 Mercurial.ini 文件: # Generated by TortoiseHg settings dialog [ui] merge = kdiff3 [tortoisehg] vdiff = kdiff3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-10
相关资源
最近更新 更多