Crear parches

Muchas veces para instar a lo bruto cosas, o para hacer cambios a lo bruto, es mas facil, enviar hacer un parche que ir modificando todos los ficheros, o pasarlos enteros. Así que voy a explicar como hago yo los parches, en plan rápido. (si te faltan el diff o el patch te los instalas)

Crea dos ficheros como los que te muestro.

joan@homedesk:~$ cat fichero1
linea uno
linea dos
linea tres

joan@homedesk:~$ cat fichero2
linea uno
linea 2dos
linea tres
linea 4cuatro

Crear el parche

Ahora tienes que hacer un diff entre estos dos, pero vamos a crear el diff con las opciones -u o -c, las dos sirven, pero -c te va a funcionar en todas partes (UNIX), pese a que crea parches algo mas largos... te muestro la salida de las dos, por si te interesa ver las diferencias, y saques tus propias conclusiones:

joan@homedesk:~$ diff -u fichero1 fichero2
--- fichero1    2008-05-14 12:14:53.000000000 +0200
+++ fichero2    2008-05-14 12:20:09.000000000 +0200
@@ -1,3 +1,4 @@
 linea uno
-linea dos
+linea 2dos
 linea tres
+linea 4cuatro

joan@homedesk:~$ diff -c fichero1 fichero2
*** fichero1    2008-05-14 12:14:53.000000000 +0200
--- fichero2    2008-05-14 12:20:09.000000000 +0200
***************
*** 1,3 ****
  linea uno
! linea dos
  linea tres
--- 1,4 ----
  linea uno
! linea 2dos
  linea tres
+ linea 4cuatro

Ahora vamos ha realizar la difícil acción de crear el parche:

joan@homedesk:~$ diff -c fichero1 fichero2 > fichero.patch

Aplicar el parche

Y a la hora de aplicarlo:

joan@homedesk:~$ patch < fichero.patch

(evidentemente no es necesario que fichero2 exista ya... si quieres puedes borrarlo para hacer la prueba)

Consejos

Nunca contradigas con malos modos a alguien que pese 40 kilos más que tu, a no ser que lo estés apuntando con una pistola y folla siempre con condón... traducido: Jámas aplico un parche a algo crítico, y si lo hago tengo mi propia pistola (ademas de los backups), siempre utilizo patch con la opcion -b que nos crea una copia del original... que con -R podemos restaurar en un momento...

Ya que tenemos las cosas guardadas en el SVN, backups y demas... pero si por ejemplo lo estas usando para distribuir una config en varias maquinas, no está de mas hacer lo que te he dicho, ya que recuperar un cambio se convierte en algo muy sencillo.

( categories: )
Enviado por Un Fan de Kopernix (no verificado) el Jue, 2008-05-15 15:34

Si ya vi que pedia nuevos colaboradores pal'kelmer xDDDD

Enviado por kopernix el Dom, 2008-05-18 22:18

Si te fijas se parece algo a ti en tu version Ramiro 1.0