aplicar el parche svn al repositorio git
Ok, he probado todas las respuestas que pude encontrar en stackoverflow, pero aparentemente ninguna parece ser capaz de resolver mi problema. Quiero aplicar un parche hecho por SVN a un repositorio git. Aparentemente la forma más fácil de hacerlo es usando 'git apply', pero eso no parece funcionar.
$ git apply --ignore-space-change --ignore-whitespace < xxx_parser.patch
<stdin>:10: trailing whitespace.
FORCE_LA_CHECK = false; stdin:23: trailing whitespace.
<stdin>:79: trailing whitespace
.
.
.
.
error: pmd/grammar/JspParser.jjt: No such file or directory
error: patch failed: pmd/pom.xml:251
error: pmd/pom.xml: patch does not apply
Este es el contenido de xxx_parser.parche:
$ head xxx_parser.patch Index: etc/grammar/JspParser.jjt
--- etc/grammar/JspParser.jjt (revision 7704)
+++ etc/grammar/JspParser.jjt (working copy)
Ahora, ¿por qué se queja de que no puede encontrar el archivo pmd/grammar/JspParser?jjt?
La ruta del parche apunta al directorio adecuado.
2 answers
He tenido algunos problemas al aplicar parches generados por SVN con git. Recomendaría aplicar cualquier parche de subversion directamente con el comando patch
, y usar git para verificar que dicho parche se haya aplicado correctamente.
$ patch -p0 < xxx_parser.patch
$ git diff
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-25 14:51:03
@emcconville answer funciona si tiene patch
como un comando ejecutable en la línea de comandos.
Para otros:
-
Ir al repositorio svn
Svn diff git git >> gitFormat.parche
-
Desde tu (Copia este archivo al) repositorio de git
Git aplica gitFormat.parche
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-27 07:26:03