Dopo oltre 3 anni di sviluppo, il 24 Marzo Mecurial 1.0 è stato ufficialmente rilasciato.
Di Mercurial non abbiamo ancora mai parlato su questo blog, nonostante l'argomento Source Code Management sia già stato affrontato in passato da Gabriele ed Alessandro con articoli su CVS e SVN (Subversion).
A differenza di questi due software, Mercurial rientra nella categoria Distributed Revision Control che si differenzia dal Centralized Revision Control rispetto all'organizzazione decentralizzata del repository principale.
In altri termini, mentre SVN e CVS si basano su un unico repository centrale e tante working copy, in Mercurial (così come GIT) ogni sviluppatore possiede una copia completa del repository ed ogni working copy contiene l'intero storico delle revisioni.
Ovviamente la mia è una spiegazione tanto superficiale quanto approssimativa.
Vi consiglio, per approfondimenti, di visitare l'articolo Intro to Distributed Version Control.
Mercurial è gratuito, sviluppato in Python e sta riscuotendo un crescente successo soprattutto nella community open source.
L'integrazione con gli ambienti di sviluppo non è così diffusa come per CVS o SVN, ma il supporto è in crescita. Le IDE principali, come Netbeans o Eclipse, già offrono una buona compatibilità così come Trac dispone di un plugin per integrare il browsing di un repository Mercurial con le stesse funzionalità attualmente disponibili per Subversion.
Non ho ancora avuto modo di provare Mercurial come avrei voluto, ma senz'altro non tarderà molto a sfruttarlo per un progetto campione!
Qualcuno ha qualche esperienza da condividere con questo strumento, rispetto alle altre soluzioni disponibili?