将xls与TortoiseHg合并

时间:2011-04-14 13:14:29

标签: tortoisehg

我想在使用TortoiseHg更新存储库时合并两个MS Excel .xls文件,我收到以下错误:

tool tortoisemerge can't handle binary
tool kdiff3 can't handle binary
tool tortoisemerge can't handle binary
tool docdiff can't handle binary
abort: response expected

当我将这些行添加到hgrc文件时:

[merge-patterns]
**.xls = docdiff

我收到另一个错误:

merging test.xls
merging test.xls failed!
0 files updated, 0 files merged, 0 files removed, 1 files unresolved

我做错了什么?当我从命令行运行docdiff时,它成功运行。

3 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。看起来我尝试过自动合并而不是手动合并。不支持自动合并二进制文件,但我已经想出如何从TortoiseHG界面启动docdiff。

所以,答案是:为了将.xls文件与TortoiseHg合并,必须使用docdiff手动合并。 TortoiseHg在自动合并期间不会启动docdiff。

答案 1 :(得分:0)

Hg工具无法合并二进制文件,只能合并基于文本的文件(大多数源代码文件都是基于文本的)。您可以尝试将XLS文件保存为CSV(逗号分隔)文件。这是一个普通的文本文件(例如,您可以使用记事本打开)。 Hg工具应该能够合并这种类型的文件。

如果您想了解更多关于无法合并XLS文件的原因。尝试用记事本打开一个XLS文件,你会发现它有很多胡言乱语,如果不知道XLS文件规范(它不知道),Hg无法理解这种乱码。

答案 2 :(得分:0)

  1. 在资源管理器中,右键单击存储库并将其克隆到临时克隆文件夹。
  2. 由于Excel不支持打开具有相同名称的两个工作簿文件,因此请重命名临时克隆中的文件,以便可以在Excel中打开它。
  3. 在Excel中打开两个版本的电子表格,然后手动将更改复制到主存储库中。
  4. 在主存储库中标记已解析的文件。
  5. 提交合并。
  6. 删除临时克隆。