Première fois que je fais un patch, Youpiiii !! Pour fêter ça je vous explique comment ça se passe pour créer un patch.
Creation du patch
Admettons que j'ai deux répertoires old et new.
- old contient le code avant modification
- new contient le code après modification
Pour créer un patch qui transforme old en new je me place dans le répertoire parent de ces deux dossiers :
pcr@home:~/patch$ ls
new old
Pour lancer la création du patch je lance la commande suivante :
pcr@home:~/patch$ diff -crB old new > fichier.patch
Application du patch
Pour vérifier l'application du patch on lance la commande suivante dans le répertoire à patcher (old pour ceux qui ont suivi) :
pcr@home:~/patch/old$ patch -p1 --dry-run -i ../fichier.patch
patching file monsuper.cpp
patching file monsuper.h
Une sortie de patch avec des erreurs ressemble à ce qui suit :
patching file monsuper.cpp
Hunk #1 FAILED at 585.
1 out of 10 hunks FAILED -- saving rejects to file monsuper.cpp.rej
Si patch ne retourne pas d'erreur vous pouvez appliquer le patch avec la commande suivante :
pcr@home:~/patch/old$ patch -p1 -i ../fichier.patch
Image : Ch&Al