Patch
Jump to navigation
Jump to search
This article needs to be translated
This article has been copied from the old wiki and is in french. It needs to be translated into english. If you wish to participate, please send a mail to (click to reveal email)
patch
Description
La commande patch permet d'appliquer un patch à un fichier. Elle est très pratique car elle permet d'appliquer une série de modifications à partir d'un fichier patch, sans avoir à relivrer l'ensemble du fichier modifié.
Création d'un patch
Création manuelle
Soit le fichier "fichier-test" suivant :
01. arbre 02. éléphant 03. gomme 04. chateau 05. ecriture 06. ours 07. serpent 08. /* 09. pantalon 10. manger 11. boire 12. */ 13. 14. abris 15. cryaon 16. test 17. livre 18. page 19. crayon 20. lumiere 21. lampe
Nous allons écrire un patch qui va corriger la ligne 15, en remplaçant "cryaon" par "crayon"
Le patch (fichier-test.patch) est le suivant :
01. --- fichier-test 2010-03-01 07:52:16.000000000 +0100 02. +++ fichier-test-2 2010-03-01 07:55:00.000000000 +0100 03. @@ -12,6 +12,6 @@ 04. */ 05. 06. abris 07. -cryaon 08. +crayon 09. test 10. livre
Ce fichier est composé de plusieurs blocs, découpés comme suit :
- Lignes 01 et 02 : identifient le fichier à modifier
- Ligne 03 : identifie les lignes à modifier
- -12,6 signifie que le bloc qui suit est présent dans le fichier à patcher, à partir de la ligne 12, et que celui-ci s'étend sur 6 lignes (hors lignes commençant par "+").
- +12,6 fournit des informations sur les modifications à apporter : une fois patché, le bloc identifié précédemment fera également 6 lignes (une suppression et un ajout, signifiant un remplacement)
- Lignes 04 à 10 : identifient les modification à apporter :
- Les lignes commençant par un espace ne doivent pas être modifiées
- Les lignes commençant par un "-" doivent être supprimées
- Les lignes commençant par un "+" doivent être insérées
Pour appliquer le patch, il nous suffit d'entrer la commande suivante :
$ patch -p0 < fichier-test.patch patching file fichier-test Hunk #1 succeeded at 12 with fuzz 1.
Une fois le patch appliqué, nous constatons la création d'un fichier de sauvegarde (fichier-test.orig).
Création automatique avec diff
La commande diff permet de créer automatiquement un patch:
diff -u fichier1 fichier2
Application d'un patch
patch -p0 < patch
INCOMPLETE SECTION OR ARTICLE
This section/article is being written and is therefore not complete.
Thank you for your comprehension.
Thank you for your comprehension.