Building & Submitting a Patch:Fr
From GeeXboX wiki
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).

