PRATIQUE OUTILS 
Subversion : créer un patch
 
Comment utiliser un système de gestion de version, comme Subversion, pour proposer des correctifs et différentiels dans le cadre d'un développement ouvert. (06/09/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

Les projets Open Source ne sont pas, à première vue, aussi ouverts qu'on pourrait le penser : dans la grande majorité des cas, seule une poignée de développeurs dispose des droits pour modifier les fichiers du projet.

Cependant, grâce aux systèmes de gestion de version comme Subversion ou son ancêtre CVS, il devient possible pour le commun des mortels de proposer des modifications, via un patch, à ces développeurs, qui seront libres alors de l'intégrer aux sources du projet. La plupart des développeurs d'un projet ont d'ailleurs obtenu leurs accès aux sources à force de proposer des modifications intelligentes ou attendues...

Le déroulement de création d'un patch avec Subversion (ou SVN) suit le plus souvent le chemin suivant :

  1) Téléchargement de la révision version de code pour la version ciblée (un dépôt SVN pouvant suivre plusieurs versions d'un même projet, généralement le contenu du trunk (le dossier où à cours le développement courant)

svn checkout http://svn.projets.com/svn/monProjet/trunk nomDuProjet

  2) Modifier le code en local, puis s'assurer que la version locale est toujours synchronisée avec le dépôt

svn update

  3) Générer le différentiel entre la version locale et la version du dépôt (votre dernière mise à jour)

svn diff > mesModifications.patch

Menu contextuel de SVN

 4) Envoyer ce différentiel aux développeurs par la voie de communication adéquate, ce qui peut être un e-mail ou un gestionnaire de bugs comme Trac.

Ce sont là les commandes en ligne. Alternativement, la plate-forme Windows dispose de l'outil TortoiseSVN, très complet, et qui présente l'avantage de donner accès en un clic à la commande Create Patch..., qui produira le fichier des différences depuis la dernière mise à jour de votre archive locale.

Le fichier .patch prend généralement la forme d'un fichier texte présentant les différences entre votre version et la version courante. Les lignes originales modifiées ou effacées sont précédées du signe -, tandis que vos modifications ou les lignes que vous avez ajoutées sont précédées d'un signe +.

Un exemple de patch généré par Subversion


 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page