可能重複:
Why does Mercurial think my SQL files are binary?水銀執行某些文件類型
我最近開始使用水銀,當我恢復了我的.SQL文件之一,水銀執行二進制比較。這顯然限制了所做更改的可見性,因爲沒有差異。
有沒有設置文件類型做字符串比較的選項?
我在用Mercurial 1.3.1使用了Tortioise Hg 0.8.1。
可能重複:
Why does Mercurial think my SQL files are binary?水銀執行某些文件類型
我最近開始使用水銀,當我恢復了我的.SQL文件之一,水銀執行二進制比較。這顯然限制了所做更改的可見性,因爲沒有差異。
有沒有設置文件類型做字符串比較的選項?
我在用Mercurial 1.3.1使用了Tortioise Hg 0.8.1。
Mercurial實際上並沒有根據實際存儲的不同來處理文本和二進制文件。當它被要求用'hg diff','hg log -p'或當在Web界面中查看變更集時向用戶顯示差異時,它會嘗試猜測「將視覺顯示該差異是否有意義」。當它試圖使「顯示它應該顯示爲文本」這個決定時,應用的測試是「在文件的前1000字節內是否有NUL字節(0x00)
因此,您的文件不存在除了在如何顯示給用戶輸出方面以外,它們的處理方式都是不同的,但是如果你可以在那裏找到一個NUL字節,那麼你可能也會停下來。
另外,extdiff擴展可以用來完全控制diff
你應該嘗試這些行添加到~/.hgrc
:
[diff]
git=1
的git的差異格式適用於二進制文件。
我想他是說他希望將文件視爲文本而不是二進制文件。 – 2009-09-10 17:50:02
是的。在這種情況下,答案是'你應該考慮在你的文件的前1000個字節中沒有任何空字節'。 – joeforker 2009-09-10 18:29:00
我不知道TortoiseHg的圖形部分,但如果你使用命令行,那麼--text
標誌hg diff
應該做的訣竅:它使Mercurial治療al l文件作爲文本。
util.binary中的測試現在在整個文件中查找NUL字節。 – 2009-09-11 20:05:01