Ako aplikovať opravu na súbor pomocou Linux

Táto príručka poskytuje základný prehľad aplikácie opravy na program alebo súbor.

Príkaz používaný na aplikáciu záplat je príkaz patch, ale aby sa použila náplasť, musí byť použitý aj rozdielový príkaz na dodanie rozdielov, ktoré je potrebné opraviť.

Prečo by ste vytvorili opravu

Predstavte si, že ste mali súbor HTML takto:



myši


Vitajte v MySite

Vyššie uvedený zdroj pri načítaní do webového prehliadača zobrazí slová "Welcome to MySite".

Je to bežné, keď programujete, aby existovali viaceré verzie toho istého súboru. Napríklad by existovala jedna verzia, ktorá by bola aktuálna verzia naživo, na vývojovej pobočke by existovala aj iná verzia, ktorá môže obsahovať viacnásobné zmeny a napokon môže existovať aj iná verzia vo verzii vydania.

Verzia, ktorú používajú skutoční používatelia (tj v tomto prípade návštevníci webových stránok MySite), by bola verzia. Povedzme, že MySite je vo verzii 1.0. Po fáze vývoja vytvoríte oddelenie, ktoré by bolo v tomto prípade 1.1. Vývojová pobočka by mohla byť pred vetvou vydania, pretože môže obsahovať zmeny, ktoré nie sú určené na vydanie vo verzii 1,2, ale budú pre verziu 1.1.

Predstavte si, že sa vyskytla chyba, pri ktorej sa MySite nazýva YourSite. Mohli by ste postupne prejsť na každú pobočku a vykonať zmeny v živom vydaní, vývojová verzia a verzia verzie by ste mohli urobiť zmenu ako hot fix v živom a potom použiť náplasť na vývoj a uvoľnenie pobočiek.

Príklad spracovaný

Vytvorte súbor s názvom myfile.html s nasledujúcim kódom:



myši


Vitajte v MySite

Toto je užitočný príklad oprava zdrojového kódu.

Vytvorte ďalší súbor s názvom myfile_v2.html s nasledujúcim kódom:



YourSite


Welcome to YourSite

Toto je užitočný príklad oprava zdrojového kódu.

Prvý súbor je pôvodná webová stránka s nadpisom "Vitajte v MySite". Druhý súbor je rovnaký ako prvý súbor, okrem MyFile je v texte premenovaný na YourFile.

Ako vytvoriť súbor Diff

Aby sme vytvorili náplasť, musíme rozoznať rozdiely medzi myfile.html a myfile_v2.html.

Môžeme to urobiť pomocou príkazu diff takto:

diff -u myfile.html myfile_v2.html> myfile.patch

Súbor myfile.patch môžete otvoriť v nano editori tak, aby ste si ho mohli prezrieť:

nano myfile.patch

Riadky, ktoré sú nezmenené, sú zobrazené modrou farbou. Odstránené riadky sú zobrazené červenou farbou a riadky, ktoré boli pridané, sú zobrazené zelene.

Ako aplikovať opravu pomocou príkazu Patch

Ak chcete použiť náplasť na stránku myfile.html, použite nasledujúci príkaz:

patch

Ako vrátiť opravu

Tým sa použijú zmeny vytvorené pomocou príkazu diff do pôvodného súboru myfile.html.

Ak chcete obnoviť náplasť tak, aby sa myfile.html vrátil späť k spôsobu, akým bol pôvodne použitý nasledujúci príkaz:

patch-R

zhrnutie

Nástroj patch môže byť použitý na použitie záplat v celej štruktúre adresárov.

Existujú oveľa lepšie nástroje ako náplasťový príkaz na vytváranie záplat a zabezpečenie dobrej kontroly zdroja.

Existuje dôvod, že toľko rozvojových projektov používa GIT na kontrolu zdrojov. GIT uľahčuje vytváranie konzistentnej stratégie rozvetvenia.

Príkaz patch je v poriadku pre použitie rozdielov na skript bash alebo niečo jednoduché, ale rovnako jednoducho môžete vytvoriť záložnú kópiu súborov, ktoré chcete opraviť a jednoducho skopírovať nové súbory na to isté miesto.

Ďalšie informácie použite príkaz man:

man patch