table of contents
GENDIFF(1) | Manuel de l'utilisateur Linux | GENDIFF(1) |
NOM¶
gendiff - Utilitaire qui facilite la création de patch valides
SYNOPSIS¶
gendiff <répertoire> <extension-diff>
DESCRIPTION¶
gendiff est script très simple qui facilite la création d'un patch depuis une arborescence. Il prend comme seuls arguments le nom d'un répertoire et l'extension des sauvegardes des fichiers originaux (« extension-diff »). L'extension doit être une séquence unique de caractères ajoutés à la fin du nom des fichiers originaux intacts. Le résultat de gendiff est un fichier diff (« patch ») qui peut être appliquée par le programme patch pour ré-appliquer les changements sur les fichiers originaux.
L'enchaînement usuel des évènements pour créer un patch est de créer deux répertoires identiques, réaliser les changements voulus dans l'un, et ensuite utiliser l'utilitaire diff pour obtenir la liste des changements entre les deux répertoires. L'utilisation de gendiff élimine la nécessité de conserver une copie complète non modifiée du répertoire. En effet, seuls les fichiers modifiés doivent être préalablement sauvegardés (exemple : cp main.c{,.orig}).
Avant d'éditer un fichier, il faut le copier en ajoutant à son nom l'extension choisie (extension-diff). I.e. si l'on veut modifier un_fichier.cpp et si l'on a choisi l'extension « fix », on le copie en un_fichier.cpp.fix avant de l'éditer. Il est alors possible d'éditer le fichier originel (un_fichier.cpp).
Après avoir effectué les modifications
souhaitées sur les fichiers de son choix, il suffit de revenir dans
le répertoire parent du répertoire modifié et de
taper :
$ gendiff un_répertoire .fix > mes_changements-fix.patch
Dans la très grande majorité des cas, la sortie standard de gendiff sera redirigée dans un fichier (comme dans l'exemple ci-dessus) à moins que l'on préfère observer directement le résultat dans la console.
NOTES DU TRADUCTEUR¶
- L'extension patch n'est pas obligatoire : l'extension diff est également couramment utilisée pour les fichiers diff.
- Il n'est pas obligatoire de revenir dans le répertoire parent pour
générer le patch ; il suffit de taper directement
$ gendiff . .fix > mes_changements-fix.patchIl faut seulement se souvenir que le fichier diff ne pourra s'appliquer qu'en passant l'option -p0 à patch (l'option -p1 étant implicite).
VOIR AUSSI¶
AUTEUR¶
Marc Ewing <marc@redhat.com>
TRADUCTEUR¶
Thierry Vignaud <tvignaud@mandrakesoft.com>, 2002
10 janvier 2000 | Linux |