在使用svn add 時提示:
A (bin) templates/translate/screen/selectTransLang.vm
請看官方文檔的解釋:
當你第一次添加或者導入文件到Subversion中時,Subversion會檢測該文件是否是二進制文件。目前,Subversion的策略是只檢測文件的前1024個字節;如果所有字節都是0,或者超過15%都是非ASCII碼輸出字符的話,那么Subversion就認定該文件是二進制文件。
如果Subversion認定文件是二進制文件,那么這個文件就會自動添加svn:mime-type屬性,并設置為“application/octet-stream”。(你隨時可以使用auto-props特性來重寫這樣的行為,或者使用svn propset手動設置屬性。)
Subversion對以下的文件做普通文本處理:
1、沒有設置svn:mime-type屬性的文件
2、文件的svn:mime-type屬性值以“text/”開頭
3、文件的svn:mime-type屬性值等于“image/x-xbitmap”
4、文件的svn:mime-type屬性值等于“image/x-xpixmap”
所有其他文件都將被視為二進制文件處理,這意味著Subversion:
1、不會嘗試在svn update或者svn merge操作時將遠程修改合并到本地中
2、在svn diff中不會顯示出不同
3、在svn blame不會每行顯示版本和作者信息
在其他方面,Subversion將二進制文件和其他文本文件一樣對待
需要注意,不管是不是二進制文件,都不會影響版本庫中用來存儲文件變更的空間大小,也不會影響客戶端和服務端之間的通訊量。出于存儲和傳輸考慮,Subversion使用的是對二進制文件和普通文本文件一致處理的diffing方法;這和‘svn diff’使用的diffing方法完全不相關。
好了,我們來看看剛才加的文件是否為二進制:
進入.svn/props 發現生成文件:selectTransLang.vm.svn-work
內容如下:
K 13
svn:mime-type
V 24
application/octet-stream
END
或者用如下方法
svn propget svn:mime-type selectTransLang.vm
輸出:application/octet-stream
解決方法,直接編輯去掉這個屬性
svn propedit svn:mime-type selectTransLang.vm
或者刪除.svn/props/selectTransLang.vm.svn-work
看看網上其他牛人的解決方法:
修改~/.subversion/config
找到最后一個section,在最后加上如下一行話:
*.txt = svn:mime-type=text/plain;svn:eol-style=native
光這個還不夠,向上搜索到這么一行
# enable-auto-props = yes
把前面用來注釋這行的那個#和其后的空格去掉
如果用的是TortoiseSVN,開始菜單 -> TortoiseSVN -> Settings -> General,此時右側有一個名為Edit的按鈕,點擊之后就可以編輯config了