Mercurial is een vrij multiplatform gedistribueerd versiebeheersysteem. Mercurial is vrijgegeven onder versie 2 van de GNU General Public License (GPL). Mercurial wordt gebruikt via de command-line; het programmabestand zelf heet hg, een verwijzing naar het scheikundige element kwik (mercury in het Engels).

Geschiedenis De oorspronkelijke hoofdontwikkelaar van Mercurial is Olivia Mackall. Het project werd op 19 april 2005 aangekondigd op de Linuxkernel-discussielijst en tegelijk werd versie 0.1 uitgebracht. Mercurial v0.1 - a minimal scalable distributed SCM, Matt Mackall, 19 april 2005. Gearchiveerd op 15 maart 2023.

De ontwikkeling van Mercurial begon naar aanleiding van de aankondiging van het bedrijf Bitmover op 6 april 2005 om het versiebeheersysteem BitKeeper niet langer voor vrij gebruik aan te bieden. Towards A Better SCM: Revlog and Mercurial, Matt Mackall. Gearchiveerd op 14 september 2024. BitKeeper werd gebruikt om de broncode van de Linuxkernel te beheren; als gevolg van deze beslissing besloot Linus Torvalds om een eigen versiebeheersysteem te ontwikkelen, genaamd Git. Gelijktijdig begon Mackall met de ontwikkeling van Mercurial.

In 2016 trok Mackall zich terug uit het project.

Werking Mercurial is hoofdzakelijk geschreven in de programmeertaal Python; het diff-algoritme is geschreven in C, gebaseerd op de module difflib van Python. Mercurial FAQ - 7.6 - How are Mercurial diffs and deltas calculated? (gearchiveerd) Rust wordt ook gebruikt om de prestaties te verbeteren.

Mercurial maakt gebruik van SHA1-hashes om revisies op unieke wijze te identificeren; deze SHA1-hashes verwijzen ook als het repository gekopieerd ('gekloond') wordt naar dezelfde revisie. Elke lokale repository duidt ook een revisie aan met een getal maar deze hoeven niet hetzelfde te zijn bij verschillende gebruikers: zo kan iemand iets gewijzigd hebben in zijn revisie 33 terwijl dit bij een ander revisie 38 is - de nummering van de revisies gebeurt dus lokaal terwijl de hashes uniek zijn.

Gebruik Verscheidene websites ondersteunen het gebruik van Mercurial als versiebeheersysteem, waaronder:

Bitbucket Getting started with Mercurial, Bitbucket (gearchiveerd) Google Code (stopgezet) Mercurial support for Project Hosting on Google Code, The Google Code Blog, 24 april 2009 (gearchiveerd) Project Kenai (stopgezet) Source Control, Project Kenai (gearchiveerd) SourceForge.net Bazaar and Mercurial SCM services launched, SourceForge, 11 maart 2009 (gearchiveerd) GNU Savannah Using hg, GNU Savannah AssemblaFree Private Mercurial Repository (gearchiveerd)

Enkele bekende projecten die Mercurial gebruiken (of gaan gebruiken) zijn: Mozilla Version Control System Shootout Redux Redux, J. Paul Reed, 12 april 2007, NetBeans Switch to hg.netbeans.org completed, NetBeans, 27 januari 2008 (gearchiveerd), OpenJDK James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1, Robert Eckstein, oktober 2006 en Python Python-Dev - And the winner is..., Guido van Rossum, 30 maart 2009. Gearchiveerd op 9 maart 2024.. In 2016 stapte Python over naar Git, in 2023 gevolgd door Mozilla.

Externe links Mercurial Mercurial: The Definitive Guide, Bryan O'Sullivan Mercurial - Google TechTalks, Bryan O'Sullivan

Categorie:Opensourcesoftware en vrije software Categorie:Software geschreven in C Categorie:Software geschreven in Python Categorie:Versiebeheersysteem