Comment créer correctifs à l'aide Diff Commande - Linux
Si vous avez apporté des modifications au code et que vous souhaitez partager ces changements avec les autres - la meilleure façon est de leur fournir un fichier correctif.
diff est l'outil de ligne de commande Linux qui est utilisé pour créer des patches (parfois appelés diffs) et exige que vous avez deux copies du code: l'un avec vos modifications et un sans.
Cet article explique comment créer un patch pour un seul fichier ou un répertoire entier en utilisant diff et comment appliquer ce patch après.
Créer un patch pour un seul fichier sous Linux
Disons que vous avez un fichier original.
Pour créer un fichier patch contenant les modifications effectuées, exécutez la commande suivante:
Créez un fichier diff dans le format unifié
Appliquer un patch à un fichier
Une personne, qui a le fichier d'origine et veut appliquer les modifications que vous avez apportées, peut patcher le fichier original avec la commande suivante:
Annuler un patch
Pour revenir un précédemment appliqué à un patch de fichier, utilisez cette commande:
Créer un patch pour un répertoire sous Linux
Supposons que vous avez un répertoire avec des fichiers et sous-répertoires à l'intérieur.
Vous copiez récursive son contenu à un nouveau répertoire et de faire les mises à jour nécessaires en elle.
Pour créer un fichier patch contenant les modifications que vous avez apportées, exécutez la commande suivante:
comparer récursive tous les sous-répertoires
Créez un fichier diff dans le format unifié
Traiter les fichiers absents comme vide
Appliquer un patch à un répertoire
Une personne, qui a le répertoire d'origine et veut appliquer les modifications que vous avez apportées, doit copier le répertoire original et le fichier correctif à un emplacement (par exemple / tmp), aller à cet endroit et d'appliquer le patch avec cette commande:
Appliquer le patch à la même structure de répertoire que lorsque le patch a été créé
Annuler un patch
Pour revenir un précédemment appliqué à un patch de répertoire, utilisez cette commande: