svn指定文件爲binary(二進制文件)

總覽:

某些文件例如plist文件,伴隨資源文件生成,自身不需要作爲文本文件管理。

問題描述:

假設有3個bug,均修改同一個資源文件。版本號按照時間順序爲p1 p2 p3。由於某些原因,需要p1 p3先進行線上更新,p2在後續版本的更新計劃中。這時通過svn merge合併文件的時候plist文件默認做爲文本文件處理,直接merge會導致p2中的修改不會被合進來, 資源文件(png,jpg等)均是二進制文件處理,完全覆蓋。這樣導致plist與資源文件不匹配。

解決方案:

如題:將plist設置爲二進制文件處理。
svn文件屬性svn:mime-type會標記文件的處理方式。默認情況下svn會在文件首次提交的時候判定,默認讀取前1024個字節,如果是0或者超過一定比例的字節爲非ASIC碼,則會添加svn:mime-type=application/octet-stream,標記爲二進制文件。被標記文件無法做差異化處理,無法diff,merge,blame等操作。

具體實行:

實行方法A:
統一所以svn使用者對plist文件的處理,打開auto-props, 配置文件添加 *.plist = svn:mime-type=application/octet-stream。
使用批量修改腳本,修改所有plist文件的svn:mime-type屬性

實行方法B:
在svn服務器設置hock,當有plist文件添加修改的時候,吊用修改腳本,爲文件添加mime-type屬性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章