Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
patch [Le 29/08/2016, 18:05] VinsS ancienne révision (Le 15/02/2016, 01:25) restaurée |
patch [Le 11/09/2022, 11:41] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>bureautique}} | {{tag>bureautique}} | ||
- | |||
---- | ---- | ||
Ligne 7: | Ligne 6: | ||
Patch permet d'appliquer un patch obtenu au moyen d'un diff (svn diff, git diff, ...) | Patch permet d'appliquer un patch obtenu au moyen d'un diff (svn diff, git diff, ...) | ||
+ | Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>patch|patch]]**. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://patch|patch]]**. | ||
=====Utilisation===== | =====Utilisation===== | ||
- | ==== Créer un patch entre deux fichiers ==== | + | ==== Créer un patch entre deux fichiers ==== |
Pour créer un patch entre deux fichiers, il suffit de taper la commande : | Pour créer un patch entre deux fichiers, il suffit de taper la commande : | ||
diff -u fichier1 fichier2 > mon.patch | diff -u fichier1 fichier2 > mon.patch | ||
- | ==== Créer un patch entre deux répertoires ==== | + | ==== Créer un patch entre deux répertoires ==== |
Pour créer un patch entre deux répertoires, il suffit de taper la commande : | Pour créer un patch entre deux répertoires, il suffit de taper la commande : | ||
diff -Naur rep1/ rep2/ > mon.patch | diff -Naur rep1/ rep2/ > mon.patch | ||
- | ==== Patcher un dossier ==== | + | ==== Patcher un dossier ==== |
L'utilisation de l'outil patch se fait en ligne de commande. La syntaxe est la suivante : | L'utilisation de l'outil patch se fait en ligne de commande. La syntaxe est la suivante : | ||
Ligne 42: | Ligne 35: | ||
- | ==== Patcher tous les fichiers indiqués par le patch ==== | + | ==== Patcher tous les fichiers indiqués par le patch ==== |
patch < mon.patch | patch < mon.patch | ||
- | ==== Patcher explicitement un seul fichier ==== | + | ==== Patcher explicitement un seul fichier ==== |
- | patch monfichier.truc < mon.patch | + | patch monfichier.truc < mon.patchv<note warning>warning</note> |
- | ==== Patcher en mode verbeux sans appliquer réellement le patch ==== | + | ==== Patcher en mode verbeux sans appliquer réellement le patch ==== |
patch --verbose --dry-run < mon.patch | patch --verbose --dry-run < mon.patch | ||
- | ==== Retour arrière sur un passage de patch ==== | + | ==== Retour arrière sur un passage de patch ==== |
patch --reverse < mon.patch | patch --reverse < mon.patch | ||
| | ||
- | ==== Application d'un patch avec conservation des permissions ==== | + | ==== 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 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> | </note> | ||
- | Pour préserver les permissions, il faut utiliser l'option **''----backup''** et ensuite faire un chmod **''----reference''**, exemple : | + | 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 | cd /etc/grub.d/ && patch --backup -p3 00_header_754921.patch | ||
chmod --reference=00_header.orig 00_header | chmod --reference=00_header.orig 00_header | ||
+ | | ||
+ | ===== Voir aussi ===== | ||
+ | * [[https://wiki.debian-fr.xyz/Utiliser_diff_et_patch|Explications plus avancées]] de diff et patch | ||
+ | |||
---- | ---- | ||
//Contributeurs: dufoli// | //Contributeurs: dufoli// |