Esta guía proporciona una visión general básica para aplicar un parche a un programa o archivo.
El comando usado para aplicar parches es el comando patch pero para aplicar un parche el comando diff también necesita ser usado para suministrar las diferencias que necesitan ser parcheadas.
Índice de contenidos
Por qué crear un parche
Imagina que tienes un archivo HTML de la siguiente manera:
La fuente anterior, cuando se carga en un navegador web, mostrará las palabras «Welcome to MySite».
Es común cuando se programa que existan múltiples versiones del mismo archivo. Por ejemplo, habría una versión que es la actual versión en vivo, habría otra versión en la rama de desarrollo que podría contener múltiples cambios, finalmente, podría haber otra versión en una rama de lanzamiento.
La rama de la versión sería la versión utilizada por los usuarios reales (es decir, en este caso los visitantes del sitio web de MySite). Digamos que MySite está en la versión 1.0. Después de una fase de desarrollo, se creará una rama de la versión que en este caso sería 1.1. La rama de desarrollo estará por delante de la rama de lanzamiento porque puede contener cambios que no están previstos para la versión 1.2 pero sí para la versión 1.1.
Imagine que hay un error por el cual MySite debería llamarse YourSite. Puede ir a cada rama a su vez y hacer cambios en la versión en vivo, versión de desarrollo y versión de lanzamiento de usted podría hacer el cambio como un hotfix en vivo y luego aplicar el parche a las ramas de desarrollo y lanzamiento.
Un Ejemplo Trabajado
Cree un archivo llamado myfile.html con el siguiente código:
Cree otro archivo llamado myfile_v2.html con el siguiente código:
El primer archivo es la página web original con el título «Bienvenido a MySite». El segundo archivo es el mismo que el primero, excepto que MyFile es renombrado a YourFile en el texto.
Cómo crear el archivo Diff
Para crear un parche, necesitamos resolver las diferencias entre myfile.html y myfile_v2.html.
Podemos hacer esto con el comando diff de la siguiente manera:
diff -u miarchivo.html miarchivo_v2.html> miarchivo.patchPuede abrir el archivo myfile.patch en el editor nano de la siguiente manera para poder verlo:
nano myfile.patchLas líneas que no se modifican se muestran en azul. Las líneas que se han eliminado se muestran en rojo y las líneas que se han añadido se muestran en verde.
Cómo aplicar el parche usando el comando Patch
Para aplicar el parche a myfile.html utilice el siguiente comando:
patch < myfile.patchCómo revertir un parche
Esto aplicará los cambios creados usando el comando diff al archivo original myfile.html.
Si desea revertir el parche para que myfile.html vuelva a ser como era originalmente, utilice el siguiente comando:
patch -R < myfile.patchResumen
El comando patch se puede utilizar para aplicar parches en toda una estructura de directorios.
Existen herramientas mucho mejores que el comando patch para crear parches y asegurar un buen control del código fuente.
Hay una razón por la que muchos proyectos de desarrollo utilizan GIT para el control de la fuente. GIT facilita la creación de una estrategia de ramificación coherente.
El comando patch está bien para aplicar diferencias a un script de bash o algo simple, pero también puede crear fácilmente una copia de seguridad de los archivos que desea parchar y simplemente copiar los nuevos archivos en el mismo lugar.
Para más información use el comando man:
Parche para hombres