2015-06-07 486 views
1

我試圖添加自動道具來解決它將.xml視爲二進制文件的問題。
但仍有一些文件甚至.html .js被視爲bin。 導入時顯示'(bin)'。Svn將我的文本文件視爲二進制

如何讓subversion始終將文件類型視爲文本?

回答

0

檢查這些文件。可能他們有'二進制'編碼。 Subversion無法識別像UTF-16(UCS-2)這樣的寬編碼作爲文本(因此不能合併,差異..)。

你的這些文件轉換爲UTF-8

1

默認情況下,顛覆活動,以確定您添加到版本控制文件是否是二進制或文本,並自動設置svn:mime-type屬性application/octet-stream(二進制文件)或text/plain (用於文本文件)。有關MIME和Subversion的更多信息,請閱讀SVNBook | File Content Type

然而,顛覆可能會錯誤地判斷文件是否爲文本或二進制,並設置一些二進制文件或副詩句text/plain財產。您可以指示Subversion客戶端根據文件擴展名模式自動設置適當的MIME類型新增文件屬性。見SVNBook | Automatic Property Setting

要注意只新添加的文件自動自動道具的工作是很重要的!存儲庫中的所有現有文件都不會受到自動道具的影響,因此您需要手動重新配置這些屬性。

2

根據我的經驗,與Windows起源XML文件通常具有 「寬」 編碼UCS-2/UTF-16和自動獲得svn:mime-typeapplication/xml加-ed來顛覆。您可以禁止當您通過指定--no-auto-props選項添加命令行文件,此行爲:

svn add --no-auto-props <your file(s)> 

您也可以隨時更改已經加入

svn pd svn:mime-type <your file(s)> 

(這將刪除svn:mime-type屬性文件您文件(S))您可能還需要設置svn:eol-style屬性,以便您的diff不要搞的一團糟。

svn ps svn:eol-style native <your file(s)> 

這裏,而不是native你也可以CRLF(通常用於Windows)或LF(通常在Unix/Linux)之間進行選擇。

相關問題