Imamo c source file koji ne može da se kompajlira (hello.c) #include int main(void) { printf("Hello, %s\n", name); return 0; } Da bi bilo moguće kompajlirati ga, potrebno je deklarisati promenljivu **name** tipa **char**: char name[] = "ime"; Prvi fajl kopiramo kao //hello.c_orig//, i napravimo izmene u postojećem //hello.c//: #include int main(void) { char name[] = "ime"; printf("Hello, %s\n", name); return 0; } Sledeće što uradimo je: # diff -urN hello.c_orig hello.c >> fix.patch I dobijamo file **fix.patch** koji izgleda ovako: --- hello.c_orig 2010-06-29 22:20:06.654030638 +0200 +++ hello.c 2010-06-29 22:23:23.330028918 +0200 @@ -1,6 +1,7 @@ #include int main(void) { + char name[] = "ime"; printf("Hello, %s\n", name); return 0; } } === Dopuna === Za pokretanje diff-a nad pojedinačnim fajlovima r i N opcije su nepotrebne: diff -u file1 file2 Mada će patch program raditi ok i sa patchevima koji nisu u GNU "unifikovanom formatu": diff file1 file2 Unifikovani format (-u opcija) je mnogo pregledniji i zato se najčešće koristi. Razlika? Vidi se jednostavno na //hello world// primeru: 5c5 < puts("Zdravo!"); --- > printf("Zdravo!\n"); Unifikovani format stavlja promenu u kontekst: --- hello.c.orig 2012-02-16 10:26:21.158000102 +0100 +++ hello.c 2012-02-16 10:26:37.696000102 +0100 @@ -2,6 +2,6 @@ int main(void) { - puts("Zdravo!"); + printf("Zdravo!\n"); return 0; } Ovo ga čini ne samo lakšim za editovanje u tekst editoru, nego i za ručno pečovanje ukoliko bude potrebno. Opcije **N** i **r** se koriste za rekurzivno poređenje direktorijuma. "r" govori diff komandi da poredi i sadržaj direktorijuma i poddirektorijuma. "N" govori da se u poređenje uključe i novo kreirani fajlovi, koji ne postoje u jednom od direktorijuma koji se poredi. Ovo se obično upari sa opcijom "a" koja diff komandi govori da sve fajlove posmatra kao ascii tekst. Rekurzivno poređenje bi izgledalo ovako: diff -Naur somedir.org somedir Da bi smo kreirali patch, samo preusmerimo izlaz diff komande u tekstualni fajl: diff -Naur somedir.orig somedir > someprog-bugfix.patch