我最近开始使用 Mercurial,当我恢复我的一个 .SQL 文件时,Mercurial 执行了二进制比较。这显然限制了所做更改的可见性,因为没有差异。
是否可以设置文件类型以进行字符串比较?
我正在使用 Tortioise Hg 0.8.1 和 Mercurial 1.3.1。
我最近开始使用 Mercurial,当我恢复我的一个 .SQL 文件时,Mercurial 执行了二进制比较。这显然限制了所做更改的可见性,因为没有差异。
是否可以设置文件类型以进行字符串比较?
我正在使用 Tortioise Hg 0.8.1 和 Mercurial 1.3.1。
就实际存储而言,Mercurial 实际上并没有完全不同地处理文本和二进制文件。hg diff
然而,当被要求用,向用户显示差异hg log -p
时,或在 Web 界面中查看变更集时,它确实会尝试猜测“在视觉上显示此差异是否有意义” 。0x00
当它试图做出“我是否应该将其显示为文本”的决定时,应用的测试是“文件的前 1000 个字节内是否有 NUL 字节 ( )。
因此,除了在用户输出中显示的方式之外,您的文件没有受到任何不同的处理,但是如果您可以在其中找到一个 NUL 字节,您可能也可以让它停止。
或者,该extdiff
扩展可用于完全控制差异的显示方式。
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.
您应该尝试将这些行添加到~/.hgrc
:
[diff]
git=1
git diff 格式适用于二进制文件。