2008-10-08 12 views

Respuesta

18

Es un archivo con una lista de diferencias entre los archivos de código que han cambiado. Por lo general, está en el formato generado haciendo diff -u en los dos archivos. La mayoría de los sistemas de control de versiones permiten la fácil creación de parches, pero generalmente se encuentran en el mismo formato.

Esto permite que el cambio de código se aplique fácilmente a la copia del código fuente de otra persona usando el comando parche.

Por ejemplo:

Digamos que tengo el siguiente código:

<?php 
    $foo = 0; 
?> 

y lo cambio a esto:

archivo
<?php 
    $bar = 0; 
?> 

El parche podría tener este aspecto:

Index: test.php 
=================================================================== 
--- test.php (revision 40) 
+++ test.php (working copy) 
@@ -3,7 +3,7 @@ 
     <?php 
-   $foo = 0; 
+   $bar= 0; 
     ?> 
+1

Sé que publicó esto hace mucho tiempo, pero apareció en la parte superior de la primera página, y es una respuesta increíble. Gracias a ti, mi banco de conocimiento ha aumentado un poco más. –

+0

Me alegra que lo haya encontrado útil :) –

1

A patch es un archivo que contiene toda la información necesaria para convertir el árbol fuente del mantenedor en el tuyo. Por lo general, se crea con herramientas como diff o svn diff o git format-patch.

Tradicionalmente, los proyectos de código abierto aceptan envíos de schlubs normales en forma de parches para que no tengan que dar a otros el acceso de confirmación a sus repositorios.

+0

Esto es muy útil para conocer los diferentes comandos para los diferentes sistemas de control de versiones. –

1

Un parche, usualmente en forma de archivo .patch, es un formato de archivo plano común para transmitir las diferencias entre dos conjuntos de archivos de código. Por lo tanto, si está trabajando en un proyecto de código abierto y realiza cambios de código en los archivos, y desea enviarlo al propietario del proyecto para que se registre (generalmente porque no tiene derechos de registro), lo haría a través de un parche .

WinMerge tiene esta funcionalidad incorporada, al igual que muchas otras herramientas como TortoiseSVN.

0

Siempre he creído que el término significaba una solución de error, como un parche en la rodilla que mamá solía poner en sus pantalones vaqueros holey.

1

Un archivo de parche representa la diferencia entre la fuente existente y la fuente que ha modificado. Es el medio principal para agregar funciones o corregir errores en muchos proyectos.

Crea un parche usando el comando diff (por ejemplo).

Luego, puede enviar este parche a la lista de correo de desarrollo y, si lo recibió bien, un committer aplicará el parche (aplicando así automáticamente los cambios) y confirmará el código.

Los parches se aplican mediante el comando de parche.

1

Generalmente, implica enviar un archivo diff unificado con el conjunto de cambios agregado para una característica. Puede read more about patches on Wikipedia. Varios sistemas de control de versiones (svn, git, etc.) crearán un archivo de parche basado en un conjunto de cambios.

1
1. n. A temporary addition to a piece of code, usually as a quick-and-dirty 

remedio a una falla o error existente. Un parche puede o no funcionar, y puede o no eventualmente incorporarse permanentemente al programa. Distinguido de un diff o mod por el hecho de que un parche se genera por medios más primitivos que el resto del programa; los ejemplos clásicos son instrucciones modificadas mediante el uso de los conmutadores de panel frontales y los cambios realizados directamente en el ejecutable binario de un programa escrito originalmente en un HLL. Comparar una solución de una línea.

Véase la definición completa en el archivo de la jerga here

+0

No creo que ese sea el uso al que se refería el interrogador. – Blorgbeard

6

Richard Jones, un desarrollador de Red Hat, tiene a nice little primer sobre la presentación de código para proyectos de código abierto, que abarca la adopción y el envío de parches.

4

Un parche suele ser un archivo que contiene información sobre cómo cambiar algo (muy a menudo para corregir un error, pero también podría ser una mejora). Hay diferentes tipos de parches.

Un parche de código fuente contiene información sobre la necesidad de modificar uno o varios archivos de código fuente. Puede generarlos fácilmente usando el comando diff y puede aplicarlos usando el comando parche (en sistemas Linux/UNIX estos comandos son estándar).

Sin embargo, también hay parches binarios. Un parche binario contiene información sobre cómo ciertos bytes dentro de un binario necesitan ser cambiados. Los parches binarios son, por supuesto, raros en el mundo de OpenSource, pero en los primeros días de las computadoras los vi mucho para modificar los binarios enviados (por lo general, para solucionar un error).

Enviar un parche significa que ha arreglado algo localmente y ahora envía el archivo a alguien, para que pueda aplicar este parche a su copia local o a una copia pública en la web, por lo que otros usuarios pueden beneficiarse de la solución.

Los parches también se utilizan a menudo si tiene algún código fuente que casi se compila en una plataforma determinada, pero se necesitan algunos cambios pequeños para que realmente se compile allí. Por supuesto, puede tomar la fuente, modificarla y ofrecer el código modificado para descargar. Pero, ¿qué ocurre si la fuente original cambia nuevamente (por ejemplo, se corrigen errores o se agregan pequeñas mejoras)? Luego, tuvo que volver a descargar la fuente, aplicar los cambios nuevamente y ofrecer la nueva versión modificada. Es mucho trabajo mantener actualizada su fuente modificada. En lugar de modificar, crea un diff entre el original y su copia modificada y lo almacena en su servidor. Si ahora un usuario desea descargar y compilar la aplicación desde el origen, primero puede descargar la última versión & de la fuente original, luego aplicar su parche (para que compile) y siempre tiene la última versión, sin tener que cambiar el parche. Un problema solo surgirá si la fuente original ha sido cambiada exactamente en uno de los lugares que modifica su parche. En este caso, el sistema se negará a aplicar el parche y se deberá hacer un nuevo parche.

1

La revisión también se utiliza en el acto de actualizar los archivos binarios del sistema. Microsoft envía parches todo el tiempo pero no son código fuente. Son archivos .msp que instalan binarios mejorados. Al igual que con todos los términos de ciencias de la computación, el parche está sobrecargado.

Cuestiones relacionadas