2013-07-12 34 views
1

定期,當我做git p4 submit,我得到一個討厭的錯誤:git p4提交 - 無法確定文件類型?

Could not determine file type for rails_project/public/favicon.ico 
(result: '//mydepot/main/rails_project/public/favicon.ico#1 - add 
default change (binary+l) *exclusive*') 

在每一種情況,那就是混淆的東西(像上面的favicon.ico)一些奇怪的二進制類型的文件,或(大多數情況下)一個圖形,就像一個PNG。這將殺死提交併保留打開狀態之前打開的所有文件,但尚未提交...

解決此問題最終成爲了一個痛苦的屁股,我最終不得不使用p4v進入並手動提交我試圖通過一個新的更改列表提交一半,然後完成我的提交(穿過我的手指,我不打另一個奇怪的文件,再次卡住)。

(這是Git版本1.8.3.2在Mac上與OS X山獅)

有沒有人想出了一個方法,使git p4行爲正常嗎?有任何想法嗎?

回答

0

查看https://github.com/ermshiperete/git-p4/blob/master/git-p4「無法確定文件類型」正則表達式're.match(".*\((.+)\)\r?$", result)'與'//mydepot/main/rails_project/public/favicon.ico#1 - add default change (binary+l) *exclusive*'不匹配。

我猜「*exclusive*」是從perforce新增的。或者至少git-p4開發者沒有遇到它。

最簡單的解決方案可能是教授git-p4關於新的perforce語法,並提交補丁。

編輯:

思考一下 - 你可能不想使用git-P4爲您(或您的公司)已經決定應該有排它鎖的任何文件,因爲git會打破鎖的排他性。