July 2011
1 post
1 tag
Le site déménage
Au revoir tumblr ! Le nouveau site se trouve à cette adresse : http://gitfr.net/blog Ce site passe en mode archive à partir de maintenant (plus de nouveau contenu) et sera accessible à l’adresse gitfr.tumblr.com. Si vous êtes abonné par le flux RSS feedburner, vous n’avez rien à faire.
Jul 9th
June 2011
6 posts
1 tag
Cycle de release raccourci
Junio, le mainteneur de Git, a proposé le 1er avril, de réduire le cycle de développement d’une version stable à 8 semaines. Cette nouvelle approche est effective depuis la sortie de la 1.7.5, ce qui veut dire que la prochaine versions stable, aka la 1.7.6 devrait sortir très prochainement (le 19 juin). Le planning La première semaine aprés la sortie d’une release stable est...
Jun 12th
1 note
2 tags
git blameall
Vous connaissez surement la commande blame, présent dans tous les outils de gestion de source, et qui permet de connaitre l’auteur de chaque ligne d’un fichier. Dan Gindikin nous gratifie de git-blameall, un petit script en Python (il faut donc qu’un interpréteur Python soit présent sur votre système, ce qui est le cas par défaut sur Linux et MacOS) qui permet d’avoir la...
Jun 12th
5 notes
1 tag
Git 1.7.5.4 publiée
La quatrième version de la branche 1.7.5.x est sortie le 2 juin, soit seulement 5 jours aprés la précédente. C’est la dernière ligne du changelog qui nous donne la réponse. Changelog The single-key mode of “git add -p” was easily fooled into thinking that it was told to add everthing (‘a’) when up-arrow was pressed by mistake. Setting a git command that uses...
Jun 12th
1 tag
Git 1.7.5.3 publiée
La troisième version de maintenance de la branche 1.7.5.x est sortie le 27 mai. Changelog The bash completion scripts should correctly work using zsh’s bash completion emulation layer now. Setting $(prefix) in config.mak did not affect where etc/gitconfig file is read from, even though passing it from the command line of $(MAKE) did. The logic to handle “&” (expand to...
Jun 12th
1 note
1 tag
Git 1.7.5.2 publiée
La deuxième version de maintenance de la branche 1.7.5.x est sortie la 20 mai. Changelog “git add -p” did not work correctly when a hunk is split and then one of them was given to the editor. “git add -u” did not resolve a conflict where our history deleted and their history modified the same file, and the working tree resolved to keep a file. “git...
Jun 12th
1 tag
Git 1.7.5.1 publiée
La première version de maintenance de la branche 1.7.5.x est sortie la 5 mai. Le changelog When an object “$tree:$path” does not exist, if $path does exist in the subtree of $tree that corresponds to the subdirectory the user is in, git now suggests using “$tree:./$path” in addition to the advice to use the full path from the root of the working tree. The...
Jun 12th
May 2011
2 posts
2 tags
Atelier Git le 16/06 à Rennes
Le breizhcamp est une journée conférence organisée le 17 juin par plusieurs communautés techniques de Rennes avec des sessions sur Java, Ruby, Android, etc. Je suis présent à cette conférence pour 2 sessions : la keynote, avec pour thème les communautés et une session sur le langage Python. Étant sur place, j’ai proposé aux organisateurs un atelier sur Git (étonnant non ?)....
May 19th
1 tag
Présentation Git le 01/06 à Strasbourg
#gitfr continue sa promotion de Git en allant cette fois ci à Strasbourg, invité par le ElsassJUG, groupe de Javaistes Alascien. La soirée va être riche car je fusionne la présentation DVCS avec la présentation Git, ce qui devrait donner un contenu d’environ 2h. Comme nous avons la salle jusqu’a 22h30, une longue session de question / réponse est possible à la fin de chaque partie. ...
May 18th
April 2011
23 posts
2 tags
RoR utilise le tracker de GitHub
Si la plupart des gens considèrent GitHub comme une superbe plateforme d’hébergement de code, beaucoup sont encore dubitatifs sur la délégation des tickets (bug et/ou fonctionnalité), et préfèrent utiliser Trac, Redmine ou JIRA. Il est donc intéressant d’apprendre que le projet Ruby on Rails (qui pour l’anecdote, est hébergé depuis le premier jour de GitHub) utilise...
Apr 27th
10 notes
1 tag
Pull request en 3 clicks
GitHub vient de sortir le pendant du merge en 1 click. Alors que l’amélioration précédente était à destination du mainteneur, celle ci est à destination du collaborateur. Ce dernier peut maintenant modifier un fichier d’un dépôt quelconque (sans droit d’écriture donc) en passant par le site web : Et proposer un pull request dans la foulée : Cela veut dire...
Apr 26th
1 tag
Merge en un click
GitHub vient de sortir une fonctionnalité surement attendue par beaucoup : la possibilité de fusionner (merger) facilement une demande de récupération de code (pull request) ! Rappel du workflow Si je souhaite faire des modifications sur un projet, le workflow par défaut de GitHub me demande de suivre ces étapes : Je créé une version personnelle de ce projet sur GitHub, afin...
Apr 25th
2 tags
Traduction de Git en français
Si vous avez lu la nouvelle sur la version 1.7.5, vous savez que Git est prêt à être traduit. C’était déja le cas avec les outils git-gui et gitk, mais pas encore de Git lui même. J’ai décidé d’aider en traduisant l’interface en français. Et oui, participer à un projet Libre ne veux pas dire obligatoirement coder, on peut aussi créer de la documentation, rapporter des...
Apr 25th
1 tag
Git 1.7.5 publiée
Nouvelle évolution de la banche 1.7.x avec cette 1.7.5. Que pouvons nous dire sur cette nouvelle version qui contient plus de 500 commits de 70 contributeurs depuis la 1.7.4 ? Voici quelques changements intéressants à mes yeux : Le code est prêt pour l’internationalisation ! (maj) La commande repo-config (qui est un fait un alias de la commande config) est officiellement...
Apr 24th
6 notes
1 tag
Annuler des modifications
Vous pouvez annuler votre travail de plusieurs manières. git revert La commande git revert $commit permet, comme son l’indique, d’inverser un commit. C’est la commande à privilégier quand vous avez déjà poussé les modifications sur un dépôt public. Vous pouvez spécifiez plusieurs commits avec un range, ou modifier le message de commit avec l’option -e. L’option -n...
Apr 24th
1 tag
Recherche de salles
Le chiffre des inscrits à la soirée ParisJUG (420 si je me rappelle bien ce que m’a dit Antonio) montre l’intérêt pour Git. Et même si la vidéo est disponible sur le Net, je pense qu’il est intéressant de faire quelques sessions supplémentaires. Si vous avez à votre disposition une grande salle sur Paris (ou très proche), faites moi signe (seb@gitfr.net). Je sais que...
Apr 24th
1 tag
Retour sur la soirée Git ParisJUG
J’arrive vers 19h et des poussières, et je vois une file assez impressionnante de personnes qui attendent de rentrer. J’apprendrai plus tard que le système de réservation s’est gouré et n’a pas limité à 200 places comme d’habitude mais à… 300 ! L’équipe du ParisJUG s’est donc mis à la recherche d’un maximum de sièges (interdiction de...
Apr 22nd
1 tag
La commande rm
Peu de chose à dire sur la commande rm. Je ne vous fais pas l’injure de dire à quoi elle sert :). Elle est un poil plus complexe que sa soeur hg ou svn avec la présence de l’index. En effet, nous pouvons effacer des fichiers dans l’index seul, avec l’option --cached, mais aussi dans l’espace de travail et l’index (par défaut). Il existe un «raccourci» :...
Apr 22nd
1 tag
La commande commit
Maintenant que nous savons construire notre commit temporaire (l’index), nous allons voir comment le transformer en commit définitif. Il est intéressant de noter que vous pouvez shinter la commande add de plusieurs façons : En désignant le(s) fichier(s) directement : git commit monfichier En mode interactif (en fait appelle son équivalent dans git add) : git commit -i En...
Apr 22nd
1 tag
Git 1.7.4.5 publiée
Pas de changelog cette fois ci, car cette version ne contient que des corrections… sur la documentation. Il manquait notamment l’option --merge-info dans le manuel de la commande git-svn. Consciencieux le Junio :).
Apr 21st
1 tag
Vidéo de la soirée Git
Bonne nouvelle si vous avez raté la soirée Git, les parties théorique et pratique sont disponibles sur le site parleys.com. La qualité semble bonne et je suis audible, mais ne supportant pas de me voir ou de m’entendre, ne m’en demandez pas plus :). N’hésitez pas à faire un retour, j’ai surement plein de points à améliorer. Et pour ceux qui ne me connaissent pas,...
Apr 21st
1 tag
Le million ! Le million !
GitHub vient d’annoncer des chiffres impressionnants : 1.1 million de projets et 900 000 Gists. Et si vous êtes bon en calcul mental, vous savez donc que GitHub à dépassé les 2 millions de dépôts Git. Mais plus intéressant, 70% des projets sont récents (moins d’un an), ce qui fait environ 4500 nouveau projet par jour, pas mal ! Et d’après les estimations internes, le million...
Apr 20th
1 tag
Gestion de ticket v2 sur GitHub
Dans mon précédent article sur GitHub, je disais que la gestion de ticket était «simple». Et bien, les GitHubbers doivent me lire (je ne vois pas d’autres explications) car GitHub vient de lancer Issue 2.0, le nouveau système de gestion de ticket ! Une issue (que l’on peut traduire par «problème» mais je préfère le mot «ticket») ressemble maintenant à ça : Vous pouvez constater...
Apr 17th
1 tag
Comment écrire Git
Comme je vois la faute assez souvent, je rappelle que l’on écrit Git ou git mais jamais GIT. Ce n’est pas un acronyme ou une abréviation. En argot anglais, git signifie (source Wikipedia) : Git is mild profanity with origins in British English for a silly, incompetent, stupid, annoying, senile elderly or childish person. It is usually an insult, more severe than twit or...
Apr 13th
1 tag
Git 1.7.4.4 publiée
La quatrième version de la branche 1.7.4.x vient de sortir (7/4/2011). Le changelog : Compilation of sha1_file.c on BSD platforms were broken due to our recent use of getrlimit() without including . “git config” did not diagnose incorrect configuration variable names. “git format-patch” did not wrap a long subject line that resulted from rfc2047 encoding. ...
Apr 7th
1 tag
Info sur la présentation du 12/04
J’avais préparé mon billet à l’avance, histoire de le publier ce matin. Mais voila, le temps d’y penser, les 200 places étaient parties ! Diantre, Git à vraiment la côte, on a battu le record de vitesse des inscriptions (moins de 4h). Pour la postérité, voici le billet initial : C’est parti ! Vous pouvez vous inscrire pour la présentation Git de mardi...
Apr 7th
2 tags
Guide visuel pour Git sous Windows
Tu aimes Git et tu dois utiliser Windows ? @nathanj pense à toi et t’offre un guide bourré de copie d’écran pour t’aider.
Apr 3rd
1 tag
GitHub, au centre de l'univers Git
On me pose souvent cette question : « Git est il utilisé et quelle est la taille de sa communauté ? ». Ma réponse se résume souvent à donner l’url de GitHub. Les chiffres parlent d’eux mêmes : Plus d’un million de dépôt, dont 60% sont des projets. Plus de 400 000 utilisateurs. Dans les 1000 sites parmi les plus visités avec 600 000...
Apr 3rd
1 tag
cgit, un frontal Web pour Git
Quand vous installez un dépôt Git sur votre serveur, il est toujours intéressant d’installer en plus un frontal Web. Cela vous permet notamment de naviguer dans votre dépôt sans avoir besoin de le cloner, de télécharger une version, ou tout simplement de connaitre l’état du dépôt. Le frontal fournit avec Git est Gitweb, écrit en Perl et utilisable en cgi. Mais son interface est un...
Apr 3rd
1 tag
Git 1.7.4.3 publiée
La troisière version de maintenance de la banche 1.7.4.x est sortie le 3 avril. A vos mises à jour ! :). Le changelog : “git apply” used to confuse lines updated by previous hunks as lines that existed before when applying a hunk, contributing misapplication of patches with offsets. “git branch —track” (and “git checkout —track...
Apr 3rd
2 tags
Haskell sur GitHub
On le savait déjà (la décision date d’aout 2008 !) mais voila une très mauvaise nouvelle pour l’outil de gestion de source Darcs. Le principal projet qui l’utilise, à savoir le compilateur Haskell GHC, passe officiellement sur Git, avec un miroir disponible sur GitHub depuis le 31 mars. Mauvaise nouvelle aussi (et surtout) car Darcs est lui même en Haskell, le projet GHC était...
Apr 3rd
5 notes
2 tags
Eclipse sur GitHub
La fondation Eclipse propose maintenant des miroirs GitHub. 70 projets sont d’ores et déjà disponibles, et le mouvement semble enclenché pour que Git devienne l’outil de gestion de source par défaut. La fondation héberge ses propres projets en proposant CVS, Subversion et Git. Mais la perspective collaborative de GitHub semble être un avantage certain, comme le souligne...
Apr 3rd
4 notes
March 2011
4 posts
1 tag
La commande add
La commande que l’on utilise juste après init ou clone est bien évidemment la commande add. Celle ci permet de modifier le contenu de l’index. L’index ? Git se différencie des autres outils en intégrant la notion d’index. Vous pouvez le voir comme un commit temporaire. Commit car il est effectivement enregistré comme tel dans le dépôt, mais temporaire car il est...
Mar 29th
1 tag
Git 1.7.4.2 publiée
La deuxième version de maintenance de la banche 1.7.4.x est sortie le 27 mars. Vous pouvez constater que le terme upstream (qui désigne la branche distante) remplace progressivement tous les anciens termes. Cela fait une suite à une constatation dans le manque de cohérence dans la terminologie employée (documentation et commande). Le changelog : Many documentation updates to match...
Mar 29th
1 tag
Les nouveautés 2011 sur GitHub
Comme le dirait Domenech, “GitHub monte en puissance”. Ce billet liste les fonctionnalités sorties depuis le début de l’année. Et au vu du nombre d’embauches (3 par mois depuis décembre 2010), cela devrait s’accélérer dans les prochains mois. Les nouveautés : Vous pouvez notifier une personne (en indiquant son login, ex: @sdouche) dans le issue tracker ou un...
Mar 27th
1 tag
Présentation Git le 12/04 à Paris
Aprés des vacances bien méritées, GitFR reprend son bâton de pèlerin pour présenter Git au ParisJUG. Git est à l’honneur puisque c’est l’unique sujet de la soirée. La présentation sera proche de l’atelier #1 et #2, mais en mettant l’accent sur : mon retour d’expérience les workflows possibles Si vous avez raté les premiers épisodes, c’est le...
Mar 23rd
February 2011
3 posts
1 tag
Tour d'horizon des propositions pour Git 1.8.0
Ca chauffe sur la liste de diffusion Git depuis la sortie de la 1.7.4 le mois dernier, car pas mal de propositions ont vu le jour pour la 1.8.0. Ces sont facilement repérables avec le pattern [1.8.0] dans le sujet et sont décrites en 4 sections : proposition, histoire, risques et plan de migration. C’est un formalisme simple mais assez efficace. Voici un rapide tour...
Feb 12th
1 tag
Git 1.7.4.1 publiée
La première version de maintenance de la banche 1.7.4.x est sortie ce 12 février. Seulement 6 bugs corrigés mais suffisamment importants pour exiger une nouvelle release. Le changelog : On Windows platform, the codepath to spawn a new child process forgot to first flush the output buffer. “git bundle” did not use OFS_DELTA encoding, making its output a few per-cent larger...
Feb 12th
1 tag
Git 1.7.4 publiée
La version 1.7.4 est sortie le 31 janvier (oui je suis en retard), et n’apporte pas de changement majeur, mais principalement de nouvelles options ou corrections un peu partout dans Git. Rien de transcendant à mes yeux mais j’apprécie la couleur de la branche dans le git status, git blame --show-email, git merge --abort, les options --fixup et --squash pour git commit, git fetch...
Feb 12th
January 2011
1 post
1 tag
Git 1.7.3.5 publiée
La version 1.7.3.5 est sortie le 6 Janvier, et c’est surement la dernière version de la série 1.7.3.x (sauf bien évidemment gros bug ou faille de sécurité). Voici les changements : test-lib.sh/test_decode_color(): use octal not hex in awk script gitweb: Include links to feeds in HTML header only for ‘200 OK’ response ident: die on bogus date format Fix typo in git-gc...
Jan 11th
December 2010
12 posts
Git rejoint la Software Freedom Conservancy
La Software Freedom Conservancy est une organisation Ney-Yorkaise qui fait la promotion de Logiciels Libres, et qui a l’avantage d’être éxonéré de taxe (tax-exempt 501(c)(3) organisation dans le droit US). Cela signifie que cette association peut maintenant donner de l’argent au projet Git (donation déductible des impôts). Voila une bonne nouvelle :). Le mail d’annonce...
Dec 17th
2 tags
Git 1.7.3.4 et 1.6.6.3 publiées
Le changement le plus important est la correction d’une faille de sécurité sur Gitweb. Cette correction est backportée sur l’ensemble des branches de maintenance (1.7.2.5, 1.7.1.4, 1.7.0.9, 1.6.5.9, 1.6.4.5). Junio (le mainteneur) en a profité pour intégrer d’autres correctifs (uniquement sur 1.7.3.4 et 1.6.6.3) : Smart HTTP transport used to incorrectly retry...
Dec 16th
1 tag
La commande clone
Si l’on souhaite récupérer un dépôt existant, il faut passer par la commande clone. Ce dernier va créer une copie locale, créer des branches remotes, et créer une branche locale qui est une copie de la branche active du dépôt distant (généralement master). La commande est simple : $ git clone <dépôt> [<répertoire>] L’URL du dépôt distant peut être en http(s),...
Dec 11th
1 tag
Structure d'un dépôt Git
Un dépôt Git se matérialise par la présence du répertoire .git. Il est unique, contrairement à SVN et CVS (et quel bonheur de ne plus avoir tous ces sous répertoires !), et se trouve à la racine du projet (myproject/.git). Dans le cas d’un dépôt partagé (dépôt bare), le contenu de ce sous répertoire se trouve directement dans le répertoire principal. La structure est trés simple....
Dec 11th
1 note
1 tag
La commande init
Ce billet est la première d’une série sur les commandes Git. Et quoi de plus naturel que de commencer par la première commande que tout utilisateur tape quand il apprend Git : la commande init (l’aventurier commencera peut être par un git clone :). L’objectif de cette commande est d’initialiser un répertoire, c’est à dire de lui ajouter le dépôt Git, qui pour...
Dec 11th
1 tag
Création de liste de diffusion gitfr
Aprés un petit moment d’hésitation, j’ai créé la liste de diffusion éponyme. C’est un moyen bien plus simple pour répondre aux différentes questions, et permet d’échanger entre vous. L’adresse de la liste : http://groups.google.com/group/gitfr. Une fois abonné, il suffit d’écrire à l’adresse gitfr@googlegroups.com.
Dec 8th
1 tag
Git 1.7.3.3 publiée
C’est une version qui ne contient que des corrections de bugs (plus le backport add.ignoreErrors). Voici le changelog : “git apply” segfaulted when a bogus input is fed to it. Running “git cherry-pick —ff” on a root commit segfaulted. “diff”, “blame” and friends incorrectly applied textconv filters to symlinks. Highlighting of...
Dec 8th
1 tag
Suivre le développement de git
Chaque série de patchs est mis dans une branche topic, c’est à dire une branche dédiée à un développement spécifique. Ce développement est ensuite fusionné (mergé) dans la branche pu (proposed updates), qui est une branche d’intégration. Aprés une ou plusieurs revues, si le code est beau et fonctionnel, il est de nouveau fusionné avec la branche next, qui représente la prochaine...
Dec 4th
2 tags
Historiser /etc avec etckeeper
Pour illuster l’un des intérêts des DVCS, à savoir son coté décentralisé, ou plus éxactement le fait qu’il n’est pas obligatoire de disposer d’un dépôt central, voici un exemple concret. Nous pouvons historiser simplement un répertoire en tapant la commande : $ git init Ainsi, vous pouvez sauvegarder toute modification apportée à un fichier et historiser vos...
Dec 4th
1 note
1 tag
Git 1.7.0.8,1.7.1.3 et 1.7.2.4 publiées
Ces versions ne contiennent qu’un backport (un portage d’un code provenant d’une version supérieure, en l’occurence la future 1.7.4 en cours de développement). Ce dernier introduit la variable de configuration add.IgnoreErrors, nouveau nom de la variable existante add.ignore-errors. Cela permet donc de continuer à utiliser les branches 1.7.0.x, 1.7.1.x et 1.7.2.x...
Dec 4th