2012-01-28 8 views
7

Cuando hago lo siguiente:Git-p4 presenten falla con el parche no se aplica

$ git-p4 submit 

termino con este seguimiento de error:

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) 

¿Cómo puedo solucionar esta situación y hacer una presentación exitosa?

FWIW, nuestro servidor P4 está configurado para usar la expansión de palabra clave (tipo de archivo = texto + k) y hay una palabra clave expandida en la línea 3 del archivo de problema. Hice un cambio en la línea 1.

He intentado eliminar el delta en la línea 1, pero el error persiste cuando intento volver a enviar el git-p4.

Respuesta

6

Lo encontré justo después de publicar esta pregunta.

El truco estaba detrás de la parte posterior de P4 y eliminando la expansión de la palabra clave.

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 

Esto funcionó.

1

Esto también me mordió. La otra opción es cambiar el tipo de archivo a través de la herramienta GUI o la línea de comando para que ya no sea un tipo de archivo text+k o text+ko (para que la expansión no suceda). Si haces eso, te comprometerá OK.

Cuestiones relacionadas