有人知道补丁文件的“正确”mime类型是什么吗?我一直在使用application / octet-stream,因为我在iana.org看不到任何更好的东西。 application / octet-stream是正确的,还是还有其他适合更好的东西?为什么没有application/patch
类型?
显然,一个可能的答案是text/plain
,但我看到很多补丁文件包含的数据不是纯文本。如果您知道所有内容都是文本,或者最好是在所有补丁文件中保持一致,那么text/plain
是最佳选择吗?
我应该说我主要考虑的上下文是将mime-type设置为关于处理行结尾(svn:mime-type
和svn:eol-style
)的颠覆的线索。问题是补丁文件可能会修补使用eol-style native
以及non-native
的文件,这可能会导致在结帐后应用补丁时出现行尾怪异。
答案 0 :(得分:9)
我也找不到权威版本。以下是其他一些可能性:
text/x-diff
text/x-patch
application/x-patch
对于它的价值,Trac(具有良好svn支持的票证跟踪器)使用text/x-patch
进行差异。 git.kernel.org和GitHub使用text/plain
。
答案 1 :(得分:1)
如果您的补丁仅包含文字,我希望text/plain
优先于text/x-patch
或text/x-diff
。 IMO,text/x-patch
或-diff
更适合此目的,some projects推荐,但text/plain
的主要原因是兼容性。
在Gmail中,如果附件是text/plain
,当您点击它时,它会自动弹出文档预览;但它不适用于text/x-patch
或text/x-diff
。另一个例子是Mailman(一种流行的邮件列表管理软件)的归档界面:shows the text text/plain
,does not text/x-patch
。
如果您的补丁包含二进制数据,我会使用application/octet-stream
,而不是因为它是正确的,但它会为您在行结尾时省去一些麻烦。
答案 2 :(得分:0)
我很好奇为什么要将补丁文件签入SVN。除此之外,我会假设你有可能检查二进制补丁文件以使用application / octet-stream。 我不确定如果你把它们混合起来会发生什么......文本的文本,二进制的八位字节...这也可能吗?