Afin de bien saisir le fonctionnement de tout ceci, nous allons commencer par créer le fichier version1 contenant les 3 lignes suivantes : [pti-seb@localhost ~]$ cat version1 1 2 4 Mais voilà, nous venons de nous rendre compte qu'il manque une ligne avec le chiffre 3. Nous allons donc créer une nouvelle version de notre fichier, nommé version2, corrigeant l'erreur : [pti-seb@localhost ~]$ cat version2 1 2 3 4 1. La commande diff La commande diff permet de voir la différence entre deux fichiers. Voici un exemple de fonctionnement : [pti-seb@localhost ~]$ diff version1 version2 2a3 > 3 Ici, la commande nous indique qu'entre la ligne 2 et 3, il y a le chiffre 3 en plus pour le fichier version2, visible grâce au symbole >. Si vous comparez deux fichiers contenant beaucoup de différence, on pourra utiliser la commande more en plus pour faire défiler le résultat : diff version1 version2 | more Cette commande permet également de connaître toutes les divergences entre les fichiers de deux répertoires. Pour cela, il suffit d'utiliser le paramètre -r : diff -r repertoire1 repertoire1 2. Créer un patch Imaginons maintenant que le fichier version1 a été distribué à plein de personnes et ces dernières ne veulent pas télécharger la nouvelle version. On pourra alors leurs fournir un patch (c'est à dire un fichier qui contient les différences entre deux versions). A cette fin, on utilisera la commande diff avec les paramètres suivants : [pti-seb@localhost ~]$ diff -u version1 version2 > update1to2.patch [pti-seb@localhost ~]$ cat update1to2.patch --- version1 2007-08-04 17:15:45.000000000 +0200 +++ version2 2007-08-04 17:18:41.000000000 +0200 @@ -1,3 +1,4 @@ 1 2 +3 4 Ici, on a pris le soin de rediriger les différences vers un nouveau fichier, nommé update1to2.patch. On pourra ainsi distribuer ce patch afin que la personne ayant le fichier version1, puisse le mettre à jour en version2. 3. Patcher avec la commande patch La dernière partie de cet article, concerne l'application d'un patch. Vous aviez le fichier version1 et vous venez de recevoir le patch update1to2.patch. Pour mette à jour votre fichier, il suffira d'utiliser la commande patch suivante : [pti-seb@localhost ~]$ patch -p0 < update1to2.patch patching file version1 L'argument -p0 précise que l'on veut patcher avec un niveau de 0. On vérifiera ensuite que la ligne manquante a bien été ajoutée au fichier version1.