当我执行以下操作时:
$ git-p4 submit
我最终得到以下错误信息:
error: patch failed: foo/bar/blah.h:1
error: foo/bar/blah.h: patch does not apply
Unfortunately applying the change failed!
What do you want to do?
[s]kip this patch / [a]pply the patch forcibly and with .rej files / [w]rite the patch to a file (patch.txt)
如何从这种情况中恢复并成功提交?
FWIW,我们的P4服务器配置为使用关键字扩展(filetype = text + k),并且在问题文件的第3行有一个扩展的关键字。我在第1行进行了更改。
我尝试删除第1行的delta,但是当我重试git-p4提交时错误仍然存在。
答案 0 :(得分:6)
在发布此问题后想出来。
诀窍是在P4的背后,并剥离了关键字扩展。
chmod +w foo/bar/blah.h
edit foo/bar/blah.h #change $File: //depot/foo/bar/blah.h$ to $File$
chmod -w foo/bar/blah.h
git-p4 submit
这很有用。
答案 1 :(得分:1)
这也是我的意思。另一个选项是通过GUI工具或命令行更改文件类型,使其不再是text+k
或text+ko
文件类型(因此不会发生扩展)。如果你这样做,它将提交OK。