Pour rappel, le projet Git a été lancé par Linus Torvalds lorsque la société BitMover a décidé d'arrêter de diffuser une version gratuite de son logiciel de gestion de versions BitKeeper, alors utilisé par les développeurs du noyau.
De quelques fichiers de code source C initialement distribués par Linus, Git est devenu un projet à part entière, avec de nombreux contributeurs. La maintenance de Git est d'ailleurs maintenant assurée par un autre développeur, Junio Hamano.
Git fait partie des outils de gestion de version distribués, qui selon leurs amateurs, sont très adaptés au modèle décentralisé de développement du Logiciel Libre. Git joue donc dans la même catégorie que Darcs, Bazaar, Monotone, Mercurial, SVK ou GNU Arch.
Comme l'explique la page officielle de Git, quelques points clés de ce logiciel sont la vitesse d'utilisation, à la fois pour le mainteneur du projet et pour les utilisateurs et le fait que l'historique est stocké sous la forme d'un graphe acyclique dirigé, ce qui facilite les fusions répétées et permet de travailler à long terme sur des branches. Toujours selon cette page, le projet Git doit être considéré comme une infrastructure de base pour d'autres projets, tels que Cogito, StGit, (h)gct, gitk, qgit ou gitweb. L'utilisateur se tournera donc plutôt vers une interface texte évoluée, telle que Cogito.
# Deja une mise a jour
Posté par Jérôme Pinot (site web personnel) . Évalué à 10.
http://www.kernel.org/pub/software/scm/git/git-1.0.0b.tar.bz(...)
Le mail de Junio :
http://lkml.org/lkml/2005/12/21/257
# Interface web
Posté par Boa Treize (site web personnel) . Évalué à 6.
http://www.kernel.org/git/
En particulier, l'historique de Git est là :
http://www.kernel.org/git/?p=git/git.git;a=summary
Les liens commitdiff affichent le diff entre le commit correspondant et son prédécesseur, les liens tree donnent accès à l'état du projet tel qu'il était au moment du commit.
# remarque
Posté par Infernal Quack (site web personnel) . Évalué à 7.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: remarque
Posté par Thomas Petazzoni (site web personnel) . Évalué à 6.
[^] # Re: remarque
Posté par etham (site web personnel) . Évalué à 0.
Git Git Git, çà imprime !
# Utilisation de git par les developpeurs du noyau
Posté par chl (site web personnel) . Évalué à 3.
D'apres ce que j'ai compris Linus choisit certains patches de la branche d'Andrew, mais avec quelles commandes git ? Ensuite, une fois une nouvelle release faite par Linus, avec quelle(s) commande(s) Andrew (et les autres développeurs) se remettent ils a jour par rapport a Linus ?
[^] # Re: Utilisation de git par les developpeurs du noyau
Posté par Boa Treize (site web personnel) . Évalué à 5.
D'autres personnes ont posé ta question, et il y a eu des réponses intéressantes. Malheureusement, ça se perd un peu dans le flot des discussions de développement et des patches. :-(
Sinon, il y a un guide pour les développeurs du noyau, mais il date un peu :
http://linux.yyz.us/git-howto.html
Par ailleurs, un anonyme s'est fait sa propre version de la doc, un genre de "Git pour les nuls" ou plutôt "Git pour les gens normaux". Il y a eu pas mal de remarques et de corrections ensuite, mais ça reste un excellent point de départ :
http://www.gelato.unsw.edu.au/archives/git/0512/13748.html
Et sinon, de mémoire, parmi les commandes sympa qui exploitent la puissance de Git :
* git grep, qui permet de faire des recherches dans les sources, sur une période donnée, dans une branche donnée, dans un sous-répertoire donnée, etc.
* git bisect, qui permet de rechercher les bugs par dichotomie
* et plein d'autres exemples que j'oublie
[^] # Re: Utilisation de git par les developpeurs du noyau
Posté par Thomas Petazzoni (site web personnel) . Évalué à 8.
Disclaimer: Ce qui suit est basé sur mes modestes observations des échanges sur la liste du noyau. Ça peut être incomplet, voire totalement faux. N'hésitez pas à corriger ou compléter.
En fait, je ne crois pas que Linus prenne des patches dans la branche d'Andrew. Andrew gère sa branche -mm avec Quilt, adapté pour la gestion de piles de patches. Cette version -mm permet d'exposer à un nombre relativement important de personnes des changements majeurs, des nouvelles fonctionnalités (ReiserFS, par exemple), etc. Quand les développeurs du noyau, dont Andrew, considère que tel ou tel patch dans -mm est prêt pour l'inclusion dans la branche principale, alors le patch est envoyé à Linus.
Sinon, Linus peut également "tirer" des modifications depuis d'autres arbres Git, c'est-à-dire d'autres branches du noyau. Par exemple, Jeff Garzik envoie régulièrement des mails du style : « Linus, please pull from ... », pour demander à Linus de tirer les modifs qu'il a sur sa branche dans la branche principale. (Dans http://www.kernel.org/git/ tu as une liste de ces branches. Un exemple de tirage depuis un arbre Git est http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux(...) ).
Sinon, la branche -mm de Andrew est mise à jour à chaque sortie d'une nouvelle version -rc du noyau Linux. Il prend donc la dernière version -rc et essaie d'appliquer avec Quilt tous les patches de sa branche. Certains patches doivent toujours s'appliquer, d'autres doivent coincer. Si ça coince, soit la modif est triviale et Andrew la fait directement, soit c'est le bazar, et je suppose qu'il dit à l'auteur originel du patch de mettre à jour son truc.
Pour un tutoriel sur Cogito, tu peux lire par exemple: http://wellington.pm.org/archive/200510/git/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.