一、Perforce是啥?
Perforce是一款非常優秀的商業化版本管理工具,特别是對美術資源比較友好,更新速度快安全。
類似于SVN、Git這樣的代碼管理工具,但是實際是不一樣的哦,這裡隻是類比。
二、出現了什麼情況?
我們的項目工程放在Perforce伺服器上,其中某個目錄下有個資源檔案A.dat,是個二進制檔案,大小為16MB=16,777,216B。
該項目需要跨平台,是以,我在Win和Linux下分别通過Perforce用戶端,也就是P4V,将該項目拉取至本地,但是發現了如下情況:
- Linux下A.dat,大小為16,777,216B;
- Win下A.dat,大小為16,812,905B;
什麼意思?
意思就是Linux下拿到的檔案大小是正确的,但是Win下拿到的檔案大小是錯誤的。
三、原因分析
由于在Perforce中對于任意檔案,預設都按照文本類型進行識别。
這裡A.dat檔案預設當作<text+c>文本類型上傳到了伺服器上,導緻下載下傳到不同系統後,可能會根據不同系統風格,進而對文本格式做處理。
比如linux和win下的換行符可能不一樣,這就導緻了同一個檔案,在不同系統下,大小會不一樣。
四、解決辦法
将A.dat檔案類型改為binary二進制類型,即可解決。
P4V用戶端步驟如下:
- 先在本地使用正确大小的A.dat覆寫大小異常的檔案;
- 然後在P4V中選中該檔案,右鍵“Change Filetype…”;
- 在彈出的視窗中,選擇binary和+w;
- 最後将該檔案送出即可。
這樣,在win和linux下對A.dat進行擷取,檔案大小就都是正确的了。
另外,如果是第一次送出檔案,也需要指定檔案類型,否則預設就是文本類型,步驟類似,先Mark for Add,然後再選中該檔案,選擇Change Filetype,選擇binary和+w,最後送出。
若對你有幫助,歡迎點贊、收藏、評論,你的支援就是我的最大動力!!!
同時,阿超為大家準備了豐富的學習資料,歡迎關注公衆号“超哥學程式設計”,即可領取。
