git-p4 submit fails with patch does not apply

梦想与她 提交于 2019-11-30 04:19:38

问题


When I do the following:

$ git-p4 submit

I wind up with the following error trace:

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) 

How can I recover from this situation and make a successful submission?

FWIW, our P4 server is configured to use keyword expansion (filetype = text+k) and there is an expanded keyword at line 3 of the problem file. I made a change at line 1.

I've tried removing the delta at line 1, but the error persists when I retry the git-p4 submit.


回答1:


Figured it out just after posting this question.

The trick was going in behind P4's back and stripping out the keyword expansion.

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

This worked.




回答2:


This bit me as well. The other option is to change the file type through the GUI tool or the command line so that it's no longer a text+k or text+ko file type (so expansion doesn't happen). If you do that, it will commit OK.



来源:https://stackoverflow.com/questions/9042865/git-p4-submit-fails-with-patch-does-not-apply

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!