¿Cómo parchear en Windows?


16

Dado un archivo de parche (fuente), ¿cuál es la forma más fácil de aplicar este parche en los archivos fuente bajo Windows?

Una herramienta de interfaz gráfica de usuario donde puedo comparar visualmente las líneas fuente sin cambios sería genial.

4

Patch for Windows es lo que estás buscando.

+7

Tenga en cuenta que este parche no funciona bien con el UAC de Vista.Pruebe el parche.exe de Git-for-windows, que viene con un manifiesto que resuelve el problema. 08 mar. 092009-03-08 21:37:26

+1

@Macke tiene razón! ¡Vea mi respuesta para un how-to con GIT! 11 jul. 152015-07-11 14:39:01


-2

WinMerge es increíble.

http://winmerge.org/

+2

Winmerge es excelente para crear parches, pero no para aplicarlos. El OP preguntó cómo aplicarlo. Sería una nueva característica fabulosa si WinMerge pudiera aplicar un parche y luego mostrar los cambios que se hicieron. 28 oct. 112011-10-28 20:05:51

+1

** Se encuentra en la Ayuda de WinMerge ** Los parches no se pueden aplicar con WinMerge. Sin embargo, puede aplicar parches utilizando la herramienta de parche del proyecto GnuWin32, porque WinMerge produce archivos parche que son compatibles con GNU/diffutils. Además, vea la pregunta anterior. 07 nov. 112011-11-07 19:41:36


14

Gracias a Macke, una buena manera de aplicar un archivo de revisión bajo el sistema operativo Windows está utilizando Git. Según tengo entendido, Git es una solución de control de versiones como SVN.

He aquí una guía para aplicar un parche:

  • En primer lugar, descargar la última versión de la Git edición de Windows aquí: GIT
  • Con el símbolo, cmd cambio en el archivo de revisión y archivos de parche
  • Ahora puede utilizar la siguiente línea de comandos:
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn file.patch 

Simple is not it it?

Gracias Macke


1

No es que ya Git 2.3.3 (marzo de 2015), se puede utilizar git apply --unsafe-paths utilizar git aplica fuera de un repositorio git.

Ver commit 5244a31 por Junio C Hamano (gitster)

"git apply" no era muy cuidadoso con la lectura de, la eliminación, actualización y creación de caminos fuera del árbol de trabajo (bajo --index/--cached) o el directorio actual (cuando se utiliza como un sustituto de Parche de GNU).

La documentación incluye ahora:

--unsafe-paths: 

Por defecto, un parche que afecta a las afueras de la zona de trabajo (ya sea un árbol de trabajo Git controlada, o el directorio de trabajo actual cuando "git apply" se utiliza como una reemplazo del parche GNU) se rechaza como un error (o una travesura).

Cuando se usa git apply como un "mejor parche de GNU", el usuario puede pasar la opción --unsafe-paths para anular esta verificación de seguridad.
Esta opción no tiene ningún efecto cuando --index o --cached están en uso.

Así que si usted tiene git installed, git apply podría ayudar, incluso fuera de cualquier repositorio git.