Mercurial è un software multipiattaforma di controllo di versione distribuito creato da Olivia Mackall e disponibile sotto GNU General Public License 2.0.

Caratteristiche

È quasi completamente scritto in Python, ma include anche una implementazione diff binaria scritta in C. Il programma ha un'interfaccia a riga di comando, ma incorpora anche un'elementare interfaccia web. Inoltre può essere attivato un protocollo binario che espone molte delle funzionalità interne del programma (il cosiddetto wire protocol).

Tutti i comandi di Mercurial sono invocati come opzioni del programma principale hg, un riferimento al simbolo chimico dell'elemento mercurio.

Sono stati realizzati da sviluppatori terzi molti client grafici dotati di GUI per renderne l'uso più agevole. Tra questi vanno menzionati almeno TortoiseHg per Windows e SmartGit/Hg (scritto in Java, perciò multipiattaforma).

Se paragonato a un sistema di controllo versione centralizzato (come CVS o SVN) Mercurial offre i vantaggi seguenti (del resto comuni a tutti gli altri sistemi distribuiti):

Possibilità per ogni sviluppatore di lavorare anche non disponendo di una connessione di rete Velocità di esecuzione dei comandi, perché ogni operazione agisce su dati residenti in locale Sicurezza del codice, perché ogni sviluppatore mantiene una copia completa della storia del progetto, e quindi agisce da backup per tutti gli altri utenti Libertà per il team di sviluppo di scegliere di fare uso di un flusso di lavoro arbitrario, non necessariamente legato al paradigma dell'unico repository centralizzato.

Progetti che usano Mercurial Segue una lista parziale di progetti che utilizzano Mercurial:

Mozilla OpenJDK OpenSolaris OpenOffice.org Symbian OS The Xen hypervisor Adblock Plus Adium Audacious Coin3D CubicWeb Dovecot IMAP server GeeXboX RabbitMQ Go (linguaggio di programmazione) GNU Octave GNU Multi-Precision Library Growl LEMON LinuxTV/Video4Linux LuxRender 3D Render Engine Mercurial MoinMoin wiki software Mutt Netbeans Nuxeo Ogre3D SAGE Vim Lugaru HD Openbravo Tryton

Note

Voci correlate Controllo di versione distribuito

Altri progetti

Collegamenti esterni