7

私が次のことをするとき:

$ 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行目のデルタを削除しようとしましたが、git-p4送信を再試行してもエラーが解決しません。

4

2 に答える 2

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

これはうまくいきました。

于 2012-01-28T04:38:44.600 に答える
1

これも私を噛みました。もう1つのオプションは、GUIツールまたはコマンドラインを使用してファイルタイプを変更し、text+kまたはtext+koファイルタイプではなくなるようにすることです(したがって、展開は行われません)。そうすれば、それはOKをコミットします。

于 2013-02-06T19:44:47.443 に答える