2

可能重复:
为什么 Mercurial 认为我的 SQL 文件是二进制文件?

我最近开始使用 Mercurial,当我恢复我的一个 .SQL 文件时,Mercurial 执行了二进制比较。这显然限制了所做更改的可见性,因为没有差异。

是否可以设置文件类型以进行字符串比较?

我正在使用 Tortioise Hg 0.8.1 和 Mercurial 1.3.1。

4

3 回答 3

7

就实际存储而言,Mercurial 实际上并没有完全不同地处理文本和二进制文件。hg diff然而,当被要求用,向用户显示差异hg log -p时,或在 Web 界面中查看变更集时,它确实会尝试猜测“在视觉上显示此差异是否有意义” 。0x00当它试图做出“我是否应该将其显示为文本”的决定时,应用的测试是“文件的前 1000 个字节内是否有 NUL 字节 ( )。

因此,除了在用户输出中显示的方式之外,您的文件没有受到任何不同的处理,但是如果您可以在其中找到一个 NUL 字节,您可能也可以让它停止。

或者,该extdiff扩展可用于完全控制差异的显示方式。

于 2009-09-10T17:53:06.410 回答
2

I don't know about the graphical part of TortoiseHg, but if you use the command line, then the --text flag to hg diff should do the trick: it makes Mercurial treat all files as text.

于 2009-09-11T20:07:10.977 回答
0

您应该尝试将这些行添加到~/.hgrc

[diff]
git=1

git diff 格式适用于二进制文件。

于 2009-09-10T13:04:35.870 回答