2010-08-29 162 views
5

我有一張紙的LaTeX hg存儲庫,我使用hg serve向我的共同作者顯示進度。 直到上週,paper.pdf文件被視爲二進制文件,其內容未顯示在變更集中。 (該用戶可以通過raw鏈接下載)如何強制Mercurial(hg)將文件視爲二進制文件?

自上週以來,paper.pdf被視爲文本,我看到在我的變更PDF的代碼巨大差異列表...

有沒有辦法告訴該庫將該文件視爲二進制文件而不是「猜測」?

我的服務器上(如汞服務運行):
汞--version - >水銀分佈式SCM(1.0.1版)
我的筆記本電腦:
汞--version - >水銀分佈式SCM (版本1.3.1)

+3

Martin對Tonfa評論的評論是關鍵 - mercurial沒有以任何影響功能的方式區分文本和二進制文件。它會顯示不同的用戶面臨的差異(並取決於你的 - git設置),但在封面下它是所有二進制文件,並沒有任何像svn和cvs可以產生的任何行結束轉換dataloss。 – 2010-08-30 02:11:38

回答

2

您不能覆蓋啓發式(這很簡單,它只是檢查數據中是否存在NUL字節)。

我想生成的PDF不是壓縮的,這意味着它只是純文本,並且不包含任何NUL字節。

但是,爲什麼將它作爲二進制文件很重要?

+1

讓我來補充一下,無論「hg diff」顯示了什麼,Mercurial都會在內部使用二進制diff格式。 – 2010-08-29 21:52:56

+0

我想辦法解決在PDF文件中的某個地方得到一個空字節 ... 我嘗試這樣做: \ usepackage [Pdftex提供] {}圖形 \ pdfcompresslevel = 9 但似乎我不是幸運足以在pdf中獲得NULL。 我會添加更多的高分辨率圖片;) 有一天,當我提交我會看看'hg serve'源代碼... – ivan 2010-08-30 05:29:03

相關問題