Building & Submitting a Patch:Fr

From GeeXboX wiki

Jump to: navigation, search

Puede ver el artículo en español

Contents

Principe d'un patch

Le patch est un fichier .diff. Le programme qui va créer ce fichier compare le fichier original avec le fichier modifié et sauvegarde dans un fichier texte les modifications apportées au fichier original pour arriver au fichier modifié. Exemple :

  • Fichier original :
#include <stdio.h> 
#include <conio.h> 
int main () 
{ 
clrscr ();
puts ("Bonjour"); 
getch (); 
return(0); 
} 
  • Fichier modifié :
#include <stdio.h> 
#include <conio.h> 
void main () 
{ 
clrscr (); 
puts ("Bonjour"); 
getch (); 
return; 
} 
  • Patch :
@@ -1,9 +1,9 @@ 
#include <stdio.h> 
#include <conio.h> 
-int main ()
+void main () 
{ 
clrscr (); 
puts ("Bonjour"); 
getch (); 
-return (0);
+return; 
}

Le patch indique que la ligne "int main ()" a été enlevée puis remplacée par "void main ()" de même pour "return (0)" qui a été remplacé par "return".

Création d'un patch sous Windows

Voilà pour le principe, maintenant un peu de pratique !!

Attention ! Une connexion adsl est fortement recommandée.

  • Tout d'abord, il faut installer cygwin. Faites l'installation en laissant tout par défaut.
  • Si vous avez modifié uniquement 1 fichier, lancez cygwin puis saisissez :
diff -Naur chemin_du_fichier_original chemin_du_fichier_modifié > chemin_du_patch 

Exemple :

diff -Naur c:/original.c c:/new.c > c:/patch.diff 

==> Cela créé le patch "c:/patch.diff" en comparant le fichier original "c:/original.c" au fichier modifié "c:/new.c".

  • Si vous avez modifié plusieurs fichiers, lancez cygwin puis saisissez :
diff -Naur chemin_du_dossier_original chemin_du_dossier_modifié >  chemin_du_patch 

Exemple :

diff -Naur c:/original c:/new > c:/patch.diff 

==> Cela créé le patch "c:/patch.diff" en comparant TOUS les fichiers du dossier "c:/original" à TOUS les fichiers du dossier "c:/new".

Remarque : Evitez de mettre des fichiers inutiles dans les dossiers, cela alourdit le patch et diminue sa clarté.

Création d'un patch sous Linux

Il est necessaire d'avoir le paquetage Mercurial pour cette manipulation.

  • Récupérez les sources depuis Mercurial (Cf. Cet article).
  • Faites les modifications souhaitées.
  • Si vous avez rajouté des fichiers, ouvrez une console, positionnez vous dans le répertoire ou se trouve les sources et saisissez la commande suivante pour chaque fichier :
hg add fichier_ajouté
  • Enfin, ouvrez une console, positionnez vous dans le répertoire ou se trouve les sources et saisissez la commande suivante :
hg commit -m "Votre commentaire"; hg export tip > patch.diff

Soumettre le patch aux développeurs

Pour que les développeurs puissent intégrer votre patch dans la prochaine version de GeeXboX vous devez envoyer le fichier patch.diff sur la liste de diffusion Geexbox-Devel (Cf. Site).

Personal tools