Ručné aplikovanie patch súborov
Malý patch súbor je možné aplikovať aj ručne, t.j. v hociktorom editore otvoriť príslušné súbory a doplniť či vymazať z nich potrebné riadky. Jednoduchý príklad pre mangos - aplikácia SD2 patchu. Uvediem iba pre nás podstatné riadky, ktoré nám poskytnú potrebné informácie a akcie, ktoré treba vykonať pre jeden súbor, zvyšné súbory sa 'patchujú' rovnako.
Otvoríme si patch súbor MaNGOS-200X-XX-XX-ScriptDev2.patch v adresári patches a čítame:
1.
--- configure.ac | 8 +++++++- src/bindings/.gitignore | 11 +++++++++++ src/bindings/Makefile.am | 2 +- src/mangosd/Makefile.am | 4 ++--
Tieto začiatočné riadky hovoria o tom, ktoré súbory budú zmenené a koľko a akých zmien nastane. Teda napr. v súbore configure.ac bude vykonaných osem zmien, z toho sedem riadkov pridáme (je tam sedem plusiek) a jeden riadok zmažeme (je tam jedno mínusko) Treba si všimnúť aj cesty k jednotlivým súborom, aby ste vedeli, ktorý súbor si máte otvoriť.
2.
4 files changed, 21 insertions(+), 4 deletions(-)
Spolu budeme meniť 4 súbory, 21 riadkov pridáme a 4 zmažeme
3.
diff --git a/configure.ac b/configure.ac
Toto je príkaz, ktorým vznikol tento patch pre súbor configure.ac. Z toho vyplýva, že ideme meniť súbor configure.ac v kmeňovom adresári mangosu. Otvoríme si ho v nejakom editore.
4.
@@ -312,...
To je číslo riadka v súbore configure.ac, za ktorým budú vykonávane zmeny. Môžete naň skočiť alebo postupovať podľa bodu 5.
5.
src/mangosd/Makefile src/mangosd/mangosd.conf.dist src/bindings/Makefile
Tieto tri riadky BEZ znamienka nám naznačujú, ZA ktorým riadkom v súbore configure.ac budeme robiť zmeny. Vyhľadáme si teda riadok s textom
src/bindings/Makefile
a overíme, že NAD ním sú riadky
src/mangosd/Makefile src/mangosd/mangosd.conf.dist
Ak by nad ním tie riadky neboli, treba vyhľadať ďalší výskyt reťazca src/bindings/Makefile .
POZN: Ak v patchi nie sú uvedené tieto tri riadky bez znamienka, patch treba aplikovať od začiatku súboru.
6.
- src/bindings/universal/Makefile
Tento riadok treba vymazať. Mal by byť hneď za riadkom so src/bindings/Makefile .
POZN: PRAVIDLO: Riadky s mínusom mažeme, riadky s plusom pridávame (viď. bod 7.)
7.
+ src/bindings/ScriptDev2/Makefile + src/bindings/ScriptDev2/scriptdev2.conf.dist + src/bindings/ScriptDev2/config.h + src/bindings/ScriptDev2/sql/Makefile + src/bindings/ScriptDev2/sql/Updates/Makefile + src/bindings/ScriptDev2/sql/Updates/0.0.1/Makefile + src/bindings/ScriptDev2/sql/Updates/0.0.2/Makefile
Tieto riadky treba pridať za riadok so src/bindings/Makefile .
PRIDAJTE ICH BEZ ZNAMIENKA + !!!
8.
]) ## Configure ACE, if needed
Toto sú tri riadky, ktoré by mali nasledovať za našimi zmenami v súbore configure.ac . Ak tam sú, zmeny sme aplikovali správne.
9.
diff --git a/src/bindings/.gitignore b/src/bindings/.gitignore
Reťazec diff na začiatku riadku nám hovorí, že sme skončili z úpravami aktuálneho súboru (configure.ac) a môžeme ho uložiť a zavrieť. A že prechádzame na ďalší súbor, súbor .gitignore v adresári src/bindings. Ak tam nie je, vytvoríme ho a pokračujeme bodom 4. resp 5.
Tento návod je vhodný iba pre patch súbory, ktoré obsahujú málo zmien. Pre veľké 'patche' použite nástroje ako SVN, CVS, PATCH alebo GIT .