| Mercurial | ||||
|---|---|---|---|---|
Schermafbeelding van HGH in actie | ||||
| Ontwerp en ontwikkeling | ||||
| Categorie | Versiebeheersysteem | |||
| Ontwikkelaar(s) | Olivia Mackall | |||
| Besturingssysteem | multiplatform | |||
| Geschreven in | Python, C, Rust | |||
| Status en tijdlijn | ||||
| Status | Actief | |||
| Uitgebracht | 19 april 2005 (21 jaar) | |||
| Recentste versie | 7.2.4 (11 augustus 2026) | |||
| Recentste bètaversie | 6.4rc0 (2 maart 2023) | |||
| Onderdelen | ||||
| Maakt gebruik van | Mercurial wire protocol, Mercurial HTTP command protocol, Mercurial SSH command protocol, Mercurial HTTP command protocol over TLS, wijzigingenset | |||
| Licentie(s) | GNU General Public License, versie 2.0 of later. | |||
| Links | ||||
| Website | Website | |||
| Versiebeheer | Broncode | |||
| ||||
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).
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.
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. 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.
Mercurial is hoofdzakelijk geschreven in de programmeertaal Python; het diff-algoritme is geschreven in C, gebaseerd op de module difflib van Python. 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.
Verscheidene websites ondersteunen het gebruik van Mercurial als versiebeheersysteem, waaronder:
Enkele bekende projecten die Mercurial gebruiken (of gaan gebruiken) zijn: Mozilla, NetBeans, OpenJDK en Python. In 2016 stapte Python over naar Git, in 2023 gevolgd door Mozilla.