天天看點

在Perforce上同一個檔案分别擷取到Win和Linux下後,檔案大小不同的問題一、Perforce是啥?二、出現了什麼情況?三、原因分析四、解決辦法

一、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用戶端步驟如下:

  1. 先在本地使用正确大小的A.dat覆寫大小異常的檔案;
  2. 然後在P4V中選中該檔案,右鍵“Change Filetype…”;
  3. 在彈出的視窗中,選擇binary和+w;
  4. 最後将該檔案送出即可。

這樣,在win和linux下對A.dat進行擷取,檔案大小就都是正确的了。

另外,如果是第一次送出檔案,也需要指定檔案類型,否則預設就是文本類型,步驟類似,先Mark for Add,然後再選中該檔案,選擇Change Filetype,選擇binary和+w,最後送出。

若對你有幫助,歡迎點贊、收藏、評論,你的支援就是我的最大動力!!!

同時,阿超為大家準備了豐富的學習資料,歡迎關注公衆号“超哥學程式設計”,即可領取。

在Perforce上同一個檔案分别擷取到Win和Linux下後,檔案大小不同的問題一、Perforce是啥?二、出現了什麼情況?三、原因分析四、解決辦法

繼續閱讀