====== Patch micro-HOWTO ======
===== Come creare un file patch =====
Supponiamo di avere due directory chiamate rispettivamente ''**originale**'' e ''**nuova**''. Per produrre un file patch con le differenze tra le due si esegue dalla directory parent:
diff -Naur originale nuova > file.patch
Le opzioni passate al ''diff'' dicono di gestire anche i file nuovi, trattare tutto come file di testo, stampare alcune righe di contesto e scendere ricorsivamente nelle directory. Il file risultante sarĂ qualcosa di simile a:
diff -Naur originale/genpowerd.c nuova/genpowerd.c
--- originale/genpowerd.c 2005-01-04 23:15:35.000000000 +0100
+++ nuova/genpowerd.c 2006-07-01 17:16:04.000000000 +0200
@@ -86,6 +86,9 @@
static char *upstype = NULL;
+/* Program to exec() just before killing the inverter. */
+static char *exec_program = NULL;
+
#if defined (__linux__) && !defined (NEWINIT)
/* Create a flag file for Miquel van Smoorenburg
...
...
===== Come applicare una patch =====
Supponiamo di avere i file originali nella directory ''**originale**'', dalla directory parent si esegue:
$ patch -p0 < file.patch
patching file originale/genpowerd.c
I file verranno modificati direttamente dentro la **directory originale**, quindi si deve fare attenzione a non eseguire il comando due volte. Il comando ''patch'' comunque dovrebbe intercettare la //previously applied// patch e dare un avviso.