Différences
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 | ||
git-core [Le 28/03/2008, 10:28] 129.104.3.3 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <code> | ||
- | Ubuntu Dapper | ||
- | </code> | ||
- | |||
- | [[https://wiki.ubuntu.com/KernelGitGuide|Traduit]] par [[utilisateurs:mr_pouit]] | ||
- | |||
- | |||
- | ====== Comment utiliser GIT pour développer le noyau Ubuntu ? ====== | ||
- | |||
- | =====Résumé===== | ||
- | |||
- | GIT est le nouvel outil de gestion de code source (SCM) utilisé par les développeurs du kernel Linux. Ubuntu a adopté cet outil pour le code source de son kernel afin de davantage interagir avec la communauté et les développeurs du kernel. | ||
- | |||
- | =====Arbres GIT actuels===== | ||
- | |||
- | voir: [[http://kernel.ubuntu.com/git]] | ||
- | |||
- | =====Obtenir GIT===== | ||
- | |||
- | Installez simplement le paquet //git-core// : | ||
- | <code> | ||
- | sudo apt-get install git-core | ||
- | </code> | ||
- | |||
- | **Note :** Le paquet //git// est un outil complètement différent qui ne fera pas ce que vous voulez. | ||
- | |||
- | |||
- | |||
- | |||
- | =====Utiliser le dépôt du noyau Linux Ubuntu===== | ||
- | |||
- | Pour télécharger une copie locale du dépôt git du noyau Linux Ubuntu, utilisez la commande suivante (gutsy est à remplacer par le nom de la version utilisée) : | ||
- | <code> | ||
- | git-clone git://kernel.ubuntu.com/ubuntu/ubuntu-gutsy.git ubuntu-gutsy | ||
- | </code> | ||
- | |||
- | Cela va prendre quelque temps, selon la vitesse de votre connexion internet. Il y a environ 220MO de données à télécharger à l'heure actuelle (et ça augmente continuellement). | ||
- | |||
- | Une fois la récupération effectuée, vous pouvez conserver votre arbre à jour en exécutant cette commande (dans le répertoire avec les sources téléchargés précédement) : | ||
- | <code> | ||
- | git pull | ||
- | </code> | ||
- | |||
- | =====Soumettre des changements au dépôt principal===== | ||
- | |||
- | Sachant que le dépôt principal n'est pas accessible en écriture par le public, le principal moyen pour faire parvenir des patchs à l'équipe du kernel est d'utiliser //git-format-patch*//. Le résultat de cette commande peut ensuite être envoyé à la liste de diffusion [[mailto:kernel-team@lists.ubuntu.com|kernel-team]]. | ||
- | |||
- | Néanmoins, si vous possédez un dépôt public //git// depuis lequel les changements peuvent être ajoutés, vous pouvez utiliser //git-request-pull// pour générer un mail à envoyer à la liste de diffusion [[mailto:kernel-team@lists.ubuntu.com|kernel-team]]. | ||
- | |||
- | =====Modèles de soumission===== | ||
- | |||
- | Dans //debian/commit-templates///, vous pouvez trouver plusieurs modèles qui doivent être utilisés lorsque vous proposez des changements à intégrer au dépôt du kernel Ubuntu. Les modèles de soumission contiennent des commentaires expliquant comment renseigner les informations requises. Notez par ailleurs que toutes les soumissions doivent avoir une ligne //Signed-off-by// (l'option //-s// de //git-commit//). Une commande //git-commit// typique ressemblera à: | ||
- | <code> | ||
- | git-commit -s -F debian/commit-templates/patch -e | ||
- | </code> | ||
- | Notez que l'option //-e// (edit) doit suivre l'option //-F//, sans quoi git ne vous autorisera à éditer le //commit-template// avant de soumettre les changements. | ||
- | |||
- | Voici à quoi ressemble un exemple de journal des changements: | ||
- | <code> | ||
- | [UBUNTU:scsi] My cool change to the scsi subsystem | ||
- | |||
- | UpstreamStatus: Merged with 2.6.15-rc3 | ||
- | |||
- | My cool change to the scsi subsystem makes scsi transfers increase | ||
- | magically to 124GiB/sec. | ||
- | |||
- | Signed-off-by: Joe Cool Hacker <jch@reet.com> | ||
- | </code> | ||
- | |||
- | =====Développeurs du kernel Ubuntu (avec un accès à rookery)===== | ||
- | |||
- | Afin d'avoir votre dépôt //git// chargé automatiquement, suivez ces instructions. | ||
- | |||
- | D'abord, identifiez-vous sur //rookery//, et exécutez ces commandes : | ||
- | <code> | ||
- | $ mkdir public_html/archives | ||
- | $ cd public_html/archives | ||
- | $ git clone -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6 | ||
- | $ mv ubuntu-2.6/.git ubuntu-2.6.git | ||
- | $ rmdir ubuntu-2.6 | ||
- | </code> | ||
- | |||
- | Cela va créer //~/public_html/archives/ubuntu-2.6.git//. Attention, vous ne devez pas l'utiliser pour mettre à jour (il faut toujours mettre à jour à partir de rsync.kernel.org). Cependant, vous pouvez permettre autoriser d'autres à mettre à jour depuis ce dépôt si vous avez des choses que vous voulez qu'ils testent. Le drapeau //-s// autorise votre dépôt à partager des objets avec les dépôts principaux. Ce la permet de réduire l'espace occupé sur rookery. | ||
- | |||
- | Pour charger votre dépôt vers son clone sur rookery, tapez : | ||
- | <code> | ||
- | git push ssh://rookery.ubuntu.com/home/<yourname>/public_html/archives/ubuntu-2.6.git | ||
- | </code> | ||
- | |||
- | Vous devez envoyer un mail à la liste de diffusion [[mailto:kernel-team@lists.ubuntu.com|kernel-team]] avec votre nom d'utilisateur, afin d'être ajouté à la liste des dépôts à charger dans le dépôt principal. | ||
- | |||
- | Tout travail effectué sur le master (HEAD) sera **automatiquement** intégré dans le dépôt principal. Tout travail que vous souhaitez garder localement doit être fait dans une branche. | ||
- | |||
- | |||
- | =====Informations supplémentaires===== | ||
- | |||
- | Lisez la documentation incluse avec les sources //git// pour plus de détail sur les différentes commandes. | ||
- | |||
- | On peut remplacer: | ||
- | <code> | ||
- | $ git clone -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6 | ||
- | $ mv ubuntu-2.6/.git ubuntu-2.6.git | ||
- | $ rmdir ubuntu-2.6 | ||
- | </code> | ||
- | par | ||
- | <code> | ||
- | $ git clone --bare -s -n -l /home/bcollins/public_html/archives/ubuntu-2.6.git ubuntu-2.6.git | ||
- | </code> | ||