git p4 submit - '无法确定文件类型'失败?

时间:2013-07-12 20:25:26

标签: macos git perforce p4v git-p4

我正在做git p4 submit时,我得到了一个令人讨厌的错误:

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进入并手动提交我尝试通过新的更改列表提交的一半,然后完成我的提交(交叉我的手指)我没有打到另一个奇怪的文件并再次卡住了。

(这是在带有OS X Mountain Lion的Mac上的git版本1.8.3.2)

有没有人想出办法使git p4行为正常?有什么想法吗?

1 个答案:

答案 0 :(得分: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会打破锁的排他性。