Ceci est une ancienne révision du document !
Patch : application d'un patch dans un répertoire
Patch permet d'appliquer un patch obtenu au moyen d'un diff (svn diff, git diff, …)
Il suffit d'installer le paquet patch.
Utilisation
ho ho Merci
HACkE
ń
note warning**[[apt>installez le paquet]]</note>
==== Patcher un dossier ====
L'utilisation de l'outil patch se fait en ligne de commande. La syntaxe est la suivante :
patch -p0 < mon.patch
Ceci appliquera le patch "mon.patch" dans le répertoire courant.
-p0 indique que nous prenons les paths du patch en entier.
Par exemple :
+++ monProjet/test.c
va appliquer ce patch dans le sous répertoire monProjet sur le fichier test.c.
Si nous avions spécifié -p1 il aurait cherché test.c à la racine de notre répertoire courant.
==== Patcher tous les fichiers indiqués par le patch ====
patch < mon.patch
==== Patcher explicitement un seul fichier ====
patch monfichier.truc < mon.patch
==== Patcher en mode verbeux sans appliquer réellement le patch ====
patch –verbose –dry-run < mon.patch
==== Retour arrière sur un passage de patch ====
patch –reverse < mon.patch
==== Application d'un patch avec conservation des permissions ====
<note warning>Attention: La commande patch ne preserve pas les permissions, mais les positionne en 644, cela est important notamment lorsqu'on patch un fichier dans /etc/grub.d/ par exemple.
</note>
Pour préserver les permissions, il faut utiliser l'option

—-backup
et ensuite faire un chmod —-reference
**, exemple :
cd /etc/grub.d/ && patch --backup -p3 00_header_754921.patch chmod --reference=00_header.orig 00_header
—- Contributeurs: dufoli
- patch.1471806603.txt.gz
- Dernière modification: Le 21/08/2016, 21:10
- par 41.250.181.96