Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

pièce

La pièce programme est utilisé pour appliquer des modifications aux fichiers texte. Il accepte la sortie de diff et est généralement utilisé pour convertir une ancienne version de fichiers en versions plus récentes. Prenons un exemple célèbre. Le noyau Linux est développé par une grande équipe peu organisée de


contributeurs qui soumettent un flux constant de petites modifications au code source. Le noyau Linux se compose de plusieurs millions de lignes de code, tandis que les modifications apportées par un contributeur à la fois sont assez petites. Cela n'a aucun sens pour un contributeur d'envoyer à chaque développeur une arborescence complète des sources du noyau à chaque fois qu'une petite modification est apportée. Au lieu de cela, un fichier diff est soumis. Le fichier diff contient le changement de la version précédente du noyau vers la nouvelle version avec les changements du contributeur. Le récepteur utilise alors le pièce programme pour appliquer la modification à sa propre arborescence source. À l'aide de diff/pièce offre deux avantages significatifs :

1. Le fichier diff est très petit, comparé à la taille complète de l'arborescence source.

2. Le fichier diff montre de manière concise la modification apportée, permettant aux réviseurs du correctif de l'évaluer rapidement.

Bien sûr, diff/pièce fonctionnera sur n'importe quel fichier texte, pas seulement sur le code source. Il serait également applicable aux fichiers de configuration ou à tout autre texte.

Pour préparer un fichier diff à utiliser avec pièce, la documentation GNU (voir Lectures complémentaires ci-dessous) suggère d'utiliser diff comme suit:

diff-Naur ancien_fichier nouveau_fichier > fichier_diff

ancien_fichier et de nouveau fichier sont soit des fichiers uniques, soit des répertoires contenant des fichiers. Les r

L'option prend en charge la récursivité d'une arborescence de répertoires.

Une fois le fichier diff créé, nous pouvons l'appliquer pour patcher l'ancien fichier dans le nouveau :

pièce fichier_diff

Nous allons démontrer avec notre fichier de test :



[moi@linuxbox ~]$ diff -Naur fichier1.txt fichier2.txt > patchfile.txt

[moi@linuxbox ~]$ patch < patchfile.txt

fichier de correctif file1.txt [me@linuxbox ~]$ fichier de chat1.txt b

cde

[moi@linuxbox ~]$ diff -Naur fichier1.txt fichier2.txt > patchfile.txt

[moi@linuxbox ~]$ patch < patchfile.txt

fichier de correctif file1.txt [me@linuxbox ~]$ fichier de chat1.txt b

cde


Dans cet exemple, nous avons créé un fichier diff nommé fichier de patch.txt puis utilisé le pièce programme pour appliquer le correctif. Notez que nous n'avons pas eu à spécifier un fichier cible pour pièce, car le fichier diff (au format unifié) contient déjà les noms de fichiers dans l'en-tête. Une fois le patch appliqué, on peut voir que fichier1.txt correspond maintenant fichier2.txt.

patch a un grand nombre d'options, et il existe des programmes utilitaires supplémentaires qui peuvent être utilisés pour analyser et éditer les patchs.


Meilleur système d'exploitation Cloud Computing chez OnWorks :