我最近开始使用Mercurial,当我还原我的一个.SQL文件时,Mercurial执行了二进制比较。这显然限制了所做更改的可见性,因为没有差异。
是否可以选择设置文件类型来进行字符串比较?
我正在使用带有Mercurial 1.3.1的Tortioise Hg 0.8.1。
答案 0 :(得分:7)
对于实际存储,Mercurial实际上并没有完全处理文本和二进制文件。然而,当被要求使用'hg diff','hg log -p'或在Web界面中查看变更集时向用户显示差异时,它会尝试猜测“会在视觉上显示此差异有意义”。当它试图使“我应该将它显示为文本”时,应用的测试是“在文件的前1000个字节内是否有NUL字节(0x00)。
所以你的文件没有被区别对待,除了它如何显示给用户输出,但是如果你可以在那里找到一个NUL字节,你也可以让它停止。
或者,extdiff扩展可用于完全控制差异的显示方式。
答案 1 :(得分:2)
我不知道TortoiseHg的图形部分,但是如果你使用命令行,那么--text
的{{1}}标志应该可以解决这个问题:它使Mercurial将所有文件视为文本
答案 2 :(得分:0)
您应该尝试将这些行添加到~/.hgrc
:
[diff]
git=1
git diff格式适用于二进制文件。