2011-03-01 66 views
7

任何人都知道什麼是適當的MIME類型的補丁文件將是什麼?我一直在使用application/octet-stream,因爲我在iana.org看不到任何更好的東西。應用程序/八位字節流是否正確,還是有其他更適合的內容?爲什麼沒有「應用程序/補丁」類型?正確的MIME類型的補丁文件

顯然,一個可能的答案是'text/plain',但是我看到很多包含非純文本數據的補丁文件。如果您知道所有內容均爲文本,或者是否最好在所有修補程序文件中保持一致,那麼text/plain是否是最佳選擇?

我應該說我主要是想在此背景下爲線索設置的mime-type到有關處理行結束顛覆(SVN:mime-type屬性和svn:愛歐爾樣式)。問題是修補程序文件可能會修補使用eol-style本地和非本地文件的兩個文件,這會在應用修補程序後結帳時導致行結束的怪異。

回答

7

我也找不到權威版本。下面是一些其他的可能性:

  • text/x-diff
  • text/x-patch
  • application/x-patch

對於它的價值,Trac(具有良好的svn支持票跟蹤器)使用text/x-patch的diff文件,並git.kernel.org使用text/plain

0

我很好奇你爲什麼要檢查補丁文件到SVN。除此之外,我會假設如果你有可能檢查二進制補丁文件來使用application/octet-stream。 我不知道如果你將它們混合在一起會發生什麼......文本文本,二進制八位字節...也可能是可能的?

+2

補丁文件通常用於開源產品的RPM。這是一種與SCM無關的方法,可以使本地修改與上游源保持獨立。我檢查了很多這些。 –

+0

很容易將修補程序的文本文件與補丁程序分開,以便爲您創建的修補程序提供二進制文件。事實上,我從來沒有用二進制部分創建補丁。但其他人有時創造它們。如果你正在管理它們,似乎你不需要分析一個文件的實際內容來發現你是否需要text/plain(?)或application/octet-stream。這就是爲什麼我認爲應用程序/補丁有意義。補丁文件可以是文本和二進制文件的混合,並具有特殊的EOL翻譯要求。也許補丁文件應該包含每個組件的MIME類型描述符? –

0

如果你的補丁只包含文本,我寧願text/plain超過text/x-patchtext/x-diff。國際海事組織,text/x-patch-diff更適合這個目的,並推薦some projects,但text/plain的主要原因是兼容性。

在Gmail中,如果附件爲text/plain,點擊它時會自動彈出文檔預覽;但它不會爲text/x-patchtext/x-diff。另一個例子是Mailman(一個流行的郵件列表管理軟件)的檔案界面:它shows the texttext/plain,但does nottext/x-patch

如果你的補丁包含二進制數據,我會使用application/octet-stream,這並不是因爲它是正確的,但它會爲你節省一些線路結尾的麻煩。