Question

Que signifie exactement le mot patch lorsqu'il est question de "soumettre un patch"?

J'ai souvent vu cela utilisé, en particulier dans le monde de l'open source. Qu'est-ce que cela signifie et en quoi consiste exactement la soumission d'un correctif?

Était-ce utile?

La solution

C'est un fichier avec une liste de différences entre les fichiers de code qui ont changé. Il s'agit généralement du format généré en faisant un diff -u sur les deux fichiers. La plupart des systèmes de contrôle de version permettent la création facile de correctifs, mais généralement dans le même format.

Cela permet d'appliquer facilement le changement de code à la copie du code source d'un tiers à l'aide de la commande patch .

Par exemple:

Disons que j'ai le code suivant:

<?php
  $foo = 0;
?>

et je le change en ceci:

<?php
  $bar = 0;
?>

Le fichier de correctif pourrait ressembler à ceci:

Index: test.php
===================================================================
--- test.php    (revision 40)
+++ test.php    (working copy)
@@ -3,7 +3,7 @@
         <?php
-            $foo = 0;
+            $bar= 0;
         ?>

Autres conseils

Richard Jones, développeur chez Red Hat, a un bon petit guide sur la soumission de code aux projets open source couvrant la création et la soumission de correctifs.

Un correctif est généralement un fichier contenant des informations sur la manière de modifier quelque chose (très souvent pour corriger un bogue, mais peut aussi être une amélioration). Il existe différents types de correctifs.

Un correctif de code source contient des informations indiquant comment un ou plusieurs fichiers de code source doivent être modifiés. Vous pouvez facilement les générer à l'aide de la commande diff et vous pouvez les appliquer à l'aide de la commande patch (sur les systèmes Linux / UNIX, ces commandes sont standard).

Cependant, il existe également des correctifs binaires. Un correctif binaire contient des informations sur la manière dont certains octets d'un binaire doivent être modifiés. Les correctifs binaires sont, bien sûr, rares dans le monde OpenSource, mais dans les premiers jours des ordinateurs, je les voyais beaucoup pour modifier les fichiers binaires fournis (généralement pour contourner un bogue).

Soumettre un correctif signifie que vous avez corrigé quelque chose localement et que vous envoyez maintenant le fichier à quelqu'un pour qu'il puisse appliquer ce correctif à sa copie locale ou à une copie publique sur le Web, afin que d'autres utilisateurs puissent bénéficier du correctif.

Les correctifs sont également souvent utilisés si un code source est presque compilé sur une plate-forme donnée, mais de minuscules modifications sont nécessaires pour qu’il soit réellement compilé ici. Bien sûr, vous pouvez prendre le code source, le modifier et proposer le code modifié au téléchargement. Mais que se passe-t-il si la source d'origine change à nouveau (par exemple, des bugs sont corrigés ou de petites améliorations sont ajoutées)? Ensuite, vous deviez télécharger à nouveau le code source, appliquer à nouveau les modifications et proposer la nouvelle version modifiée. Garder votre source modifiée à jour est une tâche ardue. Au lieu de modifier, vous créez un diff entre l'original et votre copie modifiée et vous le stockez sur votre serveur. Si à présent, un utilisateur souhaite télécharger et compiler l'application à partir des sources, il peut d'abord télécharger la dernière version de & amp; meilleure version de la source originale, puis appliquez votre correctif (pour qu’il soit compilé) et disposez toujours de la version la plus récente, sans que vous ayez à changer le correctif. Un problème ne surviendra que si la source d'origine a été modifiée exactement à l'un des emplacements modifiés par votre correctif. Dans ce cas, le système refuse d’appliquer le correctif et un nouveau correctif doit être créé.

Un correctif est un fichier contenant toutes les informations nécessaires pour transformer l’arborescence source du responsable en la vôtre. Il est généralement créé par des outils tels que diff ou svn diff ou git format-patch .

Traditionnellement, les projets open source acceptent les soumissions de schlubs classiques sous forme de correctifs afin de ne pas obliger les autres utilisateurs à valider l'accès à leurs référentiels.

Un patch, généralement sous la forme d'un fichier .patch, est un format de fichier plat commun pour la transmission des différences entre deux ensembles de fichiers de code. Donc, si vous travaillez sur un projet open source et modifiez le code des fichiers et que vous souhaitez le soumettre au propriétaire du projet pour qu'il soit archivé (généralement parce que vous ne disposez pas des droits d'archivage), vous le feriez via un correctif. .

WinMerge intègre cette fonctionnalité, ainsi que de nombreux autres outils tels que TortoiseSVN.

Un fichier de correctif représente la différence entre la source existante et la source que vous avez modifiée. C’est le principal moyen d’ajouter des fonctionnalités ou de corriger des bugs dans de nombreux projets.

Vous créez un patch à l'aide de la commande diff (par exemple).

Vous pouvez ensuite soumettre ce correctif à la liste de diffusion de développement et s’il a bien reçu le correctif, un correcteur l’appliquera (en appliquant automatiquement vos modifications) et validera le code.

Les correctifs sont appliqués à l'aide de la commande patch.

Généralement, cela implique de soumettre un fichier diff unifié avec l'ensemble de modifications global d'une fonctionnalité. Vous pouvez en savoir plus sur les correctifs sur Wikipedia . Plusieurs systèmes de contrôle de version (svn, git, etc.) créeront un fichier de correctif basé sur un ensemble de modifications.

 1. n. A temporary addition to a piece of code, usually as a quick-and-dirty

remédier à un bogue ou à un dysfonctionnement existant. Un patch peut ou peut ne pas fonctionner, et peut ou non éventuellement être incorporé de manière permanente au programme. Distingué d'un diff ou mod par le fait qu'un patch est généré par des moyens plus primitifs que le reste du programme; les exemples classiques sont des instructions modifiées en utilisant l'avant commutateurs de panneau et modifications apportées directement à l'exécutable binaire d'un programme à l'origine écrit dans un HLL. Comparez le correctif sur une ligne.

Voir la définition complète dans le fichier jargon ici

Le correctif est également utilisé lors de la mise à jour des fichiers binaires du système. Microsoft envoie des correctifs tout le temps mais ils ne sont pas du code source. Ce sont des fichiers .msp qui installent des fichiers binaires améliorés. Comme pour tous les termes informatiques, patch est surchargé.

J'ai toujours pensé que ce terme signifiait une solution à un bug, comme un patch au genou que maman utilisait pour enfiler un jean troué.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top