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

Quand vous vous déconnectez, votre profil pièce Le programme permet d'appliquer des modifications aux fichiers texte. Il accepte les sorties de diff et est généralement utilisé pour convertir d'anciennes versions de fichiers en versions plus récentes. Prenons un exemple célèbre : le noyau Linux est développé par une grande équipe, peu structurée.


Les contributeurs soumettent un flux constant de petites modifications au code source. Le noyau Linux est composé de plusieurs millions de lignes de code, et les modifications apportées simultanément par un contributeur sont relativement minimes. Il est absurde pour un contributeur d'envoyer à chaque développeur l'arborescence complète des sources du noyau à chaque petite modification. À la place, un fichier de différences est soumis. Ce fichier contient les modifications apportées par le contributeur à la version précédente du noyau. Le destinataire utilise ensuite le fichier de différences. pièce programme pour appliquer la modification à son propre arbre source. En utilisant 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 le changement effectué, permettant aux réviseurs du correctif de l'évaluer rapidement.

Bien sûr, diff/pièce Cela fonctionnera sur n'importe quel fichier texte, pas seulement sur le code source. Cela s'appliquera également aux fichiers de configuration ou à tout autre type de 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 nouveau fichier sont soit des fichiers uniques, soit des répertoires contenant des fichiers. 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 fichier :

correctif fichier_diff

Nous allons le démontrer avec notre fichier de test :



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

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

fichier de correctifs file1.txt [me@linuxbox ~]$ fichier cat1.txt b

cde

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

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

fichier de correctifs file1.txt [me@linuxbox ~]$ fichier cat1.txt b

cde


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

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


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