Meld win32

Après beaucoup de patience, et beaucoup de recherche sur Python (je n’ai jamais vraiment codé en Python) j’ai finis par sortir un package de Meld 1.3 avec les plugins pour les différents SCM qui fonctionnent (SVN/GIT/HG/etc.)

Cela donne:

On peut donc ce passer de Tortoise, et c’est très léger.
PS: ce package contient le « patch.exe » d’UnixUtil ce qui évite toute installation de Cygwin.
Téléchargement sur: http://bitbucket.org/grozeille/meld/downloads/

Gestionnaires de sources décentralisé

Voici un petit billet pour parler des outils de gestion de source, car j’ai voulu résumer tout ça dans un seul endroit.

Si j’ai beaucoup travaillé avec Subversion (SVN) depuis de nombreuses années, j’en ai aussi payé les frais, et j’ai adopté aujourd’hui les gestionnaires de sources décentralisés.
SVN reste un très bon choix, et impose de bonnes pratiques sans imposer sa façon de travailler.
Mais j’ai souvent souffert des problèmes suivants:

  • Merges compliqués, peut-être résolu avec SVN 1.5 et TortoiseSVN 1.5, mais ça reste difficile par moment
  • Lenteur, que ce soit en Updatant/Commitant, ou avec l’utilisation de TortoiseSVN
  • « Rename » compliqué, puisqu’il faut faire un « Move » avec SVN et pas avec le FileSystem ou dans l’IDE
Trop facile les branches avec Tortoise! 😉

C’est pour ces raisons que je suis fan de GIT ou Mercurial (HG), avec une préférence pour ce dernier. J’avais commencé à utilisé GIT, mais un ami m’a dit qu’il trouvait Mercurial plus facile: après avoir fait l’essaie, je confirme!

Si j’ai opté pour SVN à l’époque, c’est sans doute grâce à l’outillage qui est autour:

Ce fut aussi sans doute parce que SVN s’intégrait bien avec d’autres outils, comme les bugs-trackers (Track ou Redmine).

Si j’opte pour GIT ou Mercurial, c’est pour les mêmes raisons: les outils existent!
Pour GIT:

Pour Mercurial:

La puissance de GIT et Mercurial c’est aussi de pouvoir convertir un repository SVN rapidement, ou même l’utiliser comme « main branch ». A ce niveau, j’ai eu une meilleure expérience avec Mercurial.

Mais ce n’est pas tout, si GIT/HG explose en puissance, c’est qu’ils offrent un repository « officiel » gratuit!
Petite anecdote: je voulais faire de la place sur mon disque dur plein à craqué, et en faisant le ménage je suis tombé sur un dossier contenant des backups de mes sources de mes projets perso. Ce fut un beau moment de nostalgie, j’en reviens pas d’avoir fait un « simulateur de vie en 3D en Java » ou un projet avec « Eclipse RCP » ou encore un « framework RCP en .Net »…
Il ne fallait absolument pas perdre tout ça, il me fallait le mettre sur un SVN. A l’époque, j’avais des repos SVN locaux, mais pour ne rien perdre en cas de crash, je me suis dit que je vais tout backuper sur le plus gros disque du monde: Internet.
J’ai trouvé Assembla à l’époque, qui inclut le bug-tracker Trac. J’aurai pu choisir Google Code, mais je n’y ai pas pensé. Quand à CodePlex ce n’était que du TFS à l’époque, mais maintenant il y a un pont SVN.

Avec la découverte de GIT, j’ai aussi découvert GitHub et ça a changé ma vie: Wiki light, bug-tracker light, interface Web très soigné, et très simple d’utilisation (très facile à créer plusieurs repos). Gitorious est aussi un très bon choix, mais j’ai l’impression qu’il n’a pas connu le même succès.

Et c’est avec joie que j’ai découvert que Mercurial possède aussi son repository « officiel » tout comme GitHub: BitBucket. Les 2 sont très comparables, on dirait presque des clones.

J’ai une petite pensé pour Bazaar qui est aussi un gestionnaire de sources décentralisé, qui est très utilisé dans le monde Linux (produit de Canonical donc très utilisé par Ubuntu) mais qui n’a pas séduit la communauté des développeurs (manque d’outils? trop complexe? c’est la vie?) pour ceux qui veulent quand même le tester, TortoiseBZR existe.

Amusez-vous bien sur GIT ou Mercurial, apprenez à maitriser l’outil, car c’est grâce à vos connaissance que vous les verrez apparaitre dans vos entreprise.

Subversion

Mon intérêt pour le monde libre m’a fait faire des recherches sur CVS.

Sous win, j’ai installé CVSNT et j’ai testé ainsi à l’aide d’Eclipse. CVSNT plante avec Eclipse… je n’arrive pas à voir pourquoi… en tout cas, la version CVSNT 2.0.14 marche parfaitement avec Eclipse si on choisi de ne pas utiliser de préfix (chemin en dur).

Et puis je me suis dit : « Mais pourquoi ne pas profiter de CVS avec Visual Studio Express ? ». Ben parceque.. (voir explications ici)

Et puis dans ma recherche, je suis tombé sur Subversion ! Encore un serveur de gestion de versions concurrentes (à la CVS, SourceSafe, ClearCase,…). J’ai vraiment accroché ! Surtout avec TortoiseSVN qui s’intègre très bien à l’explorateur de Windows.

L’équivalent existe aussi pour CVS: TortoiseCVS.

Et puis il y a aussi le plugin Eclipse pour SVN : SubEclipse.

Mais aussi l’équivalent pour Visual Studio : ANKHSVN.

Malheureusement, ce dernier ne fonctionne pas avec Visual Studio Express 😦

Affaire à suivre…