Ručné aplikovanie patch súborov

Z WoWResource Wiki
Verze z 30. 1. 2009, 14:38, kterou vytvořil BLuma (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

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 .