Bye bye Redmine !

Jusque-là, j’avais un redmine qui me servait de forge logi­cielle person­nelle et je me méfiais de Github (j’ai du mal à faire confiance aux entre­prises – regar­dez le ramdam avec la ferme­ture de Google Reader).

Mais un mongueur de Perl m’a dit au FOSDEM connaître un peu les gens derrière Github car il les a rencon­trés au cours de je ne sais plus quelle confé­rence. En gros, ce sont 5 gus dans un garage (pour reprendre l’ex­pres­sion consa­crée). Et ça, ça me plaît.

Je m’étais créé un compte Github il y a déjà un certain temps, sans vrai­ment m’en servir, jusqu’à mon impli­ca­tion dans liquid­prompt. Et là j’ai décou­vert comme github simpli­fie la ques­tion de la parti­ci­pa­tion à un projet. C’est juste tout simple. Tu forkes, tu modi­fies, tu commites, tu cliques sur pull-request, et c’est au(x) proprié­taire(s) de faire le reste. Plus les discus­sions éven­tuelles avec les autres déve­lop­peurs.

Cette simpli­cité de parti­ci­pa­tion encou­rage vrai­ment les contri­bu­tions et ça, pour des projets libres, ben c’est juste cool. Sans comp­ter qu’on peut, grâce à Github, avoir des retours de personnes qu’on n’at­ten­dait pas. Genre un des déve­lop­peurs prin­ci­paux d’Ether­pad lite qui est venu me causer sur la page Github de mon projet Ether­padAd­min. Si j’avais laissé mon projet unique­ment sur mon redmine, il n’en aurait jamais entendu parlé.

Mon serveur étant un peu malmené par tout ce que je mets dessus et le serveur thin qui sert mon redmine étant un peu gour­mand (très gour­mand, si on regarde l’uti­lité réelle de mon redmine), j’ai décidé de stop­per mon redmine et de mirro­rer mes dépôts git de mon gito­lite vers github. Bah oui, je garde quand même un gito­lite, faut pas abuser non plus, je vais pas tout confier à un service que je ne maîtrise pas, sans comp­ter que ça me permet d’avoir des dépôts privés).

Pour le lien entre mon gito­lite et github, j’ai utilisé un hook tout bête mais bien pensé : https://github.com/mira­cle2k/gito­lite-simple-mirror

Non, je n’aban­donne pas mon indé­pen­dance (puisque j’ai toujours mes dépôts chez moi avant de les pous­ser sur github), je profite juste d’un bon service qui apporte une vraie plus-value… et je soulage mon serveur qui en a bien besoin ! 😀

NB : les anciens liens poin­tant vers le redmine sont redi­ri­gés vers ma page Github ou direc­te­ment sur la page du projet si c’était un lien vers un projet en parti­cu­lier.

Redmine et la vue d’un fichier dans un dépôt

Quand on utilise Redmine avec un dépôt (git, svn, n’im­porte quoi) et qu’on clique sur un des fichiers du dépôt, c’est géné­ra­le­ment qu’on veut voir le contenu du fichier, mais Redmine ouvre l’his­to­rique du fichier sur lequel on a cliqué. Il faut encore cliquer sur « Voir » pour voir le contenu du fichier.

Pour chan­ger ce compor­te­ment que je trouve très bête, j’ai modi­fié la vue _dir_list_content.html.erb (dans debian, ce fichier se situe dans /usr/share/redmine/app/views/repo­si­to­ries) de ça :

{:action => (entry.is_dir? ? 'show' : 'changes'), :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(ent_path), :rev => @rev},

à ça :

{:action => (entry.is_dir? ? 'show' : 'entry'), :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(ent_path), :rev => @rev},

(j’ai remplacé le changes par entry)

Vous pouvez tester ce compor­te­ment sur http://dev.fiat-tux.fr (n’ou­bliez pas de relan­cer le service qui « sert » votre redmine : j’uti­lise pour ma part le serveur thin).

NB : oui, c’est porcasse de modi­fier un fichier comme ça, qui sera effacé à la prochaine mise à jour, mais c’est vite fait et j’avais pas vrai­ment envie de cher­cher comment faire un plugin pour ça (je n’ai pas trouvé de plugin pour le faire d’ailleurs)