Deux des outils essentiels du développement logiciel sont Pièce y Diff. Leur fonctionnement n'est pas un mystère, mais je pense que ce sera un article intéressant.
Les deux sont très puissants, et c'est comme toucher la surface, ils ont plus d'utilitaires et d'autres fonctions. Fondamentalement, avec ces deux outils, nous pouvons créer un contrôle de version,
Diff
Nous parlons de comparaison, il compare un fichier "original" avec le "nouveau", et nous informe des différences qui existent entre eux. Cet outil nous permet également de créer des fichiers .patch que nous utilisons pour créer des correctifs pour nos programmes.
Pièce
C'est la commande avec laquelle nous "patchons" littéralement notre fichier d'origine, en ajoutant et / ou en supprimant des lignes selon les instructions contenues dans le fichier .patch
Il est également vimdiff, qui est un outil visuel pour appliquer des correctifs sans avoir besoin d'un fichier .patch, car il compare "original" et "nouveau" et sur le même fichier, il est possible d'éditer ligne par ligne ou le document entier. Je ne vais pas l'expliquer, mais je pense que cela mérite une mention.
Exemple
Maintenant, le plaisir est. Exemple!
C'est le cas, nous avons un excellent script qui demande votre nom et votre âge, si vous avez plus de 18 ans, il vous dit que vous pouvez voter, sinon il vous dit que vous ne pouvez pas voter.
original.sh
#! / bin / bash echo "Entrez votre nom:" read name echo "Entrez votre âge:" read age if [[18 -lt $ age]] then echo "Bonjour $ name, vous avez $ old et vous pouvez voter! " else echo "Bonjour $ name, tu as $ vieux et tu ne peux pas voter ..." fi
Image du code dans Vim
Terminé, voici le script en cours:
Tout semble bien fonctionner
Donc, en tant que bons utilisateurs que nous sommes, nous partageons notre script avec un ami :), mais nous recevons un message disant qu'il a un défaut, que quand il a 18 ans, il dit qu'il ne peut pas voter quand il le devrait.
Erreur logique
Nous commençons maintenant à corriger la petite erreur et à faire quelques modifications ...
new.sh
#! / bin / bash maxAge = 18 echo "Entrez votre nom:"; read name echo "Écrivez votre âge:"; lire l'âge si [[$ maxAge -le $ age]]; then echo "Bonjour $ name, tu as $ ans et tu peux voter!" else echo "Bonjour $ name, vous avez $ ans et vous ne pouvez pas voter ..." fi exit 0
Nouveau code écrit en Vim
Supposons que le script soit très lourd. Donc, pour éviter de renvoyer le script en entier, on crée un .patch
$ diff -u original.sh nouveau.sh> patch.patch
Et maintenant, nous avons notre patch. Voici une vue de Vim:
Voici à quoi ressemblent les instructions pour un .patch. En blanc les lignes qui n'ont pas été modifiées, en bleu celles supprimées, en orange celles ajoutées.
Et pour l'appliquer, nous utilisons simplement le fichier .patch dans le script à patcher. Ici s'appelle originalAmigo.sh, qui est une copie exacte du script original.sh
Script d'ami
$ patch originalFriend.sh <patch.patch
Et cela nous laisse notre dossier originalAmigo.sh Alors:
Script ami après application du patch
Comme vous pouvez le voir, il est très facile d'obtenir les différences et d'appliquer les correctifs. Tout vient de moi.
Bonjour les gens, nous lirons vendredi prochain.