A PCRE internal error occured. This might be caused by a faulty plugin

Dobrodošli na wiki [[http://www.slackware-srbija.org/|srpske Slackware zajednice]]. Za izmenu sadržaja je neophodno registrovati nalog. Pre uređivanja ili dodavanja sadržaja poigrajte se sa [[wiki:syntax|wiki sintaksom]] u [[playground:playground|igralištu]].

Imamo c source file koji ne može da se kompajlira (hello.c) <code>#include <stdio.h> int main(void) { printf("Hello, %s\n", name); return 0; }</code> Da bi bilo moguće kompajlirati ga, potrebno je deklarisati promenljivu **name** tipa **char**: <code>char name[] = "ime";</code> Prvi fajl kopiramo kao //hello.c_orig//, i napravimo izmene u postojećem //hello.c//: <code>#include <stdio.h> int main(void) { char name[] = "ime"; printf("Hello, %s\n", name); return 0; }</code> Sledeće što uradimo je: <code># diff -urN hello.c_orig hello.c >> fix.patch</code> I dobijamo file **fix.patch** koji izgleda ovako: <code>--- 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 <stdio.h> int main(void) { + char name[] = "ime"; printf("Hello, %s\n", name); return 0; } }</code> === Dopuna === Za pokretanje diff-a nad pojedinačnim fajlovima r i N opcije su nepotrebne: <code>diff -u file1 file2</code> Mada će patch program raditi ok i sa patchevima koji nisu u GNU "unifikovanom formatu": <code>diff file1 file2</code> Unifikovani format (-u opcija) je mnogo pregledniji i zato se najčešće koristi. Razlika? Vidi se jednostavno na //hello world// primeru: <code>5c5 < puts("Zdravo!"); --- > printf("Zdravo!\n");</code> Unifikovani format stavlja promenu u kontekst: <code>--- 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; }</code> 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: <code>diff -Naur somedir.org somedir</code> Da bi smo kreirali patch, samo preusmerimo izlaz diff komande u tekstualni fajl: <code>diff -Naur somedir.orig somedir > someprog-bugfix.patch</code>


Navigation

* [[:pocetna_strana|Početna strana]] * [[playground:playground|Igralište]] * [[wiki:syntax|Pomoć]]

QR Code
QR Code uputstva:kako_jednostavno_kreirati_patch (generated for current page)