Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:mentors:git-buildpackage [01/03/2014 09:02] captnfab [Utilisations] |
doc:mentors:git-buildpackage [01/03/2014 09:57] captnfab [Utilisations] |
||
---|---|---|---|
Ligne 73: | Ligne 73: | ||
===== Utilisations ===== | ===== Utilisations ===== | ||
- | FIXME | + | ==== Gérer les patchs via une branche ''patch-queue'' ==== |
- | ==== Mettre à jour la branche de patchs ==== | + | Pour gérer les patchs de debian/patchs, on peut utiliser une branche git. |
+ | * Cela nous permet pour chaque branche //foo// d'avoir la branche non-patchée (//foo//) et la branche patchée (//patch-queue/foo//) | ||
+ | * Un commit dans la //patch-queue// correspond exactement à un patch dans ''debian/patches/'' | ||
+ | * Les patchs peuvent facilement être supprimés, ou ajoutés en modifiant la branche //patch-queue// (et en évitant de se tromper en utilisant //quilt add//, //dpatch-edit-patch//, //cdbs-edit-patch//, etc.) | ||
+ | * Les patchs peuvent facilement être portés sur les nouvelles versions grâce à ''git rebase'' sur la branche //patch-queue// (les patchs appliqués par //upstream// sont automatiquement détectés). | ||
+ | * Les patchs générés dans ''debian/patches/'' ont toutes les informations nécessaires pour être envoyés à //upstream//. | ||
- | === Si elle n'existe pas === | + | Inconvénient : |
+ | * Pas d'historique sur la branche //patch-queue/foo//, mais bien sûr l'historique de la branche //foo// reste disponible. | ||
+ | |||
+ | === Créer la branche de patchs === | ||
<code user>gbp pq import</code> | <code user>gbp pq import</code> | ||
+ | <note info>Cela changera la branche courante du dépôt à //patch-queue/master//.</note> | ||
+ | |||
+ | === Travailler sur les patchs === | ||
+ | * Un commit = un patch | ||
+ | * C'est une branche git classique | ||
+ | |||
+ | === Re-générer les fichiers de patchs === | ||
+ | <code user>gbp pq export</code> | ||
+ | <note info>Cela changera la branche courante du dépôt à //master//.</note> | ||
+ | |||
+ | === Enregistrer les modifications === | ||
+ | <code user>git add debian/patches | ||
+ | git commit</code> | ||
+ | |||
+ | === Mettre à jour le changelog === | ||
+ | <code user>git-dch -S -a</code> | ||
+ | |||
+ | === Construire le paquet === | ||
+ | * Voir plus bas. | ||
+ | |||
+ | === Après avoir importé une nouvelle release === | ||
+ | <code user> gbp pq rebase | ||
+ | git checkout master | ||
+ | gbp pq export</code> | ||
=== Si des commits ont été fait sur //master// depuis la dernière mise à jour === | === Si des commits ont été fait sur //master// depuis la dernière mise à jour === | ||
<code user>gbp pq rebase</code> | <code user>gbp pq rebase</code> | ||
- | ==== Mettre à jour les patchs depuis la branche de patchs ==== | + | === Créer un premier patch === |
- | <code user>gbp pq export</code> | + | * <code user>gbp pq import</code> |
+ | * Créer le patch et en faire un commit | ||
+ | * Générer le fichier patch pour quilt : | ||
+ | <code user>git checkout master | ||
+ | gbp pq export</code> | ||
+ | * Commit: | ||
+ | <code user>git add -a debian/patches/ | ||
+ | git commit -m 'mon premier patch'</code> | ||
+ | |||
+ | ==== Cloner un dépôt git-buildpackage existant ==== | ||
+ | <code user>gbp clone adresse-du-dépôt-git</code> | ||
+ | ==== Garder un dépôt jour ==== | ||
+ | Après un clone initial avec ''gbp clone'', vous pouvez exécuter //gbp pull// pour mettre à jour les branches //debian//, //upstream// et //pristine-tar// depuis le dépôt distant. Le flot de travail ressemble alors à cela : | ||
+ | * Initiallement, cloner le dépôt une fois | ||
+ | <code user>gbp clone adresse/du/dépôt.git | ||
+ | cd dépôt</code> | ||
+ | * Travailler sur ce clone, faire des commits, récupérer les releases, faire des pushs, etc. | ||
+ | * Pour récupérer après quelques jours les mises à jours faites par vos collègues : | ||
+ | <code user>gbp pull --redo-pq</code> | ||
+ | Cela mettra à jour toutes les branches en fonction des modifications faites par vos collaborateurs, et regénérera la branche de patchs. | ||
==== Compilation du paquet === | ==== Compilation du paquet === |