Mercurial
Mercurial | ||||
---|---|---|---|---|
Schermafbeelding van HGH in actie
| ||||
Ontwikkelaar(s) | Olivia Mackall | |||
Uitgebracht | 19 april 2005 (19 jaar) | |||
Recentste versie | 6.9 (20 november 2024)[1][2] | |||
Recentste bètaversie | 6.4rc0 (2 maart 2023)[3][4] | |||
Status | Actief | |||
Besturingssysteem | multiplatform | |||
Geschreven in | Python, C, Rust | |||
Categorie | Versiebeheersysteem | |||
Licentie(s) | GNU General Public License, versie 2.0 of later. | |||
Versiebeheer | Officiële broncode | |||
Website | Officiële website | |||
|
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
[bewerken | brontekst bewerken]De oorspronkelijke hoofdontwikkelaar van Mercurial is Olivia Mackall.[5] Het project werd op 19 april 2005 aangekondigd op de Linuxkernel-discussielijst en tegelijk werd versie 0.1 uitgebracht.[6]
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.[7] 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.[7] Gelijktijdig begon Mackall met de ontwikkeling van Mercurial.[7]
In 2016 Mackall trok zich terug uit het project.[5]
Werking
[bewerken | brontekst bewerken]Mercurial is hoofdzakelijk geschreven in de programmeertaal Python; het diff-algoritme is geschreven in C, gebaseerd op de module difflib van Python.[8] Rust wordt ook gebruikt om de prestaties te verbeteren.[9]
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
[bewerken | brontekst bewerken]Verscheidene websites ondersteunen het gebruik van Mercurial als versiebeheersysteem, waaronder:
- Bitbucket[10]
- Google Code (stopgezet)[11]
- Project Kenai (stopgezet)[12]
- SourceForge.net[13]
- GNU Savannah[14]
- Assembla[15]
Enkele bekende projecten die Mercurial gebruiken (of gaan gebruiken) zijn: Mozilla[16], NetBeans[17], OpenJDK[18] en Python[19]. In 2016 stapte Python over naar Git[20], in 2023 gevolgd door Mozilla.[21]
Externe links
[bewerken | brontekst bewerken]- (en) Mercurial
- (en) Mercurial: The Definitive Guide, Bryan O'Sullivan
- (en) Mercurial - Google TechTalks, Bryan O'Sullivan
- ↑ Mercurial tag 6.9.
- ↑ Release Notes.
- ↑ changeset 50269:05de4896508e stable 6.4rc0.
- ↑ Release Notes.
- ↑ a b Olivia Mackall. Gearchiveerd op 2 december 2023. Geraadpleegd op 28 december 2023.
- ↑ (en) Mercurial v0.1 - a minimal scalable distributed SCM, Matt Mackall, 19 april 2005. Gearchiveerd op 15 maart 2023.
- ↑ a b c (en) Towards A Better SCM: Revlog and Mercurial, Matt Mackall. Gearchiveerd op 14 september 2024.
- ↑ (en) Mercurial FAQ - 7.6 - How are Mercurial diffs and deltas calculated? (gearchiveerd)
- ↑ PerformancePlan - Mercurial. www.mercurial-scm.org. Gearchiveerd op 14 september 2024. Geraadpleegd op 14 maart 2021.
- ↑ (en) Getting started with Mercurial, Bitbucket (gearchiveerd)
- ↑ (en) Mercurial support for Project Hosting on Google Code, The Google Code Blog, 24 april 2009 (gearchiveerd)
- ↑ (en) Source Control, Project Kenai (gearchiveerd)
- ↑ (en) Bazaar and Mercurial SCM services launched, SourceForge, 11 maart 2009 (gearchiveerd)
- ↑ (en) Using hg, GNU Savannah
- ↑ (en) Free Private Mercurial Repository (gearchiveerd)
- ↑ (en) Version Control System Shootout Redux Redux, J. Paul Reed, 12 april 2007
- ↑ (en) Switch to hg.netbeans.org completed, NetBeans, 27 januari 2008 (gearchiveerd)
- ↑ (en) James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1, Robert Eckstein, oktober 2006
- ↑ (en) Python-Dev - And the winner is..., Guido van Rossum, 30 maart 2009. Gearchiveerd op 9 maart 2024.
- ↑ (en) Python Is Moving From Mercurial To GitHub. www.phoronix.com. Gearchiveerd op 16 november 2023. Geraadpleegd op 16 november 2023.
- ↑ (en) Mozilla Firefox Development Finally Moving Entirely To Git. Phoronix Forums (6 november 2023). Gearchiveerd op 16 november 2023. Geraadpleegd op 16 november 2023.