Mercurial

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Mercurial
Mercurial
SChermafbeelding van HGH in actie
SChermafbeelding van HGH in actie
Ontwikkelaar Matt Mackall
Recentste versie 3.0 
(1 mei 2014)
Status Actief
Besturingssysteem Multiplatform
Geschreven in Python en C
Categorie Versiebeheersysteem
Licentie GPL 2
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

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]

De hoofdontwikkelaar van Mercurial is Matt Mackall. Het project werd op 19 april 2005 aangekondigd op de Linuxkernel-discussielijst en tegelijk werd versie 0.1 uitgebracht.[1]

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.[2] 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.[2] Gelijktijdig begon Matt Mackall met de ontwikkeling van Mercurial.[2]

Werking[bewerken]

Mercurial is hoofdzakelijk geschreven in de programmeertaal Python; het diff-algoritme is geschreven in C, gebaseerd op de module difflib van Python.[3]

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]

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

Enkele bekende projecten die Mercurial gebruiken (of gaan gebruiken) zijn: Mozilla[10], NetBeans[11], OpenJDK[12] en Python[13].

Externe links[bewerken]

Bronnen, noten en/of referenties
  1. (en) Mercurial v0.1 - a minimal scalable distributed SCM, Matt Mackall, 19 april 2005
  2. a b c (en) Towards A Better SCM: Revlog and Mercurial, Matt Mackall
  3. (en) Mercurial FAQ - 7.6 - How are Mercurial diffs and deltas calculated?
  4. (en) Getting started with Mercurial, Bitbucket
  5. (en) Mercurial support for Project Hosting on Google Code, The Google Code Blog, 24 april 2009
  6. (en) Source Control, Project Kenai
  7. (en) Bazaar and Mercurial SCM services launched, SourceForge, 11 maart 2009
  8. (en) Using hg, GNU Savannah
  9. (en) Free Private Mercurial Repository
  10. (en) Version Control System Shootout Redux Redux, J. Paul Reed, 12 april 2007
  11. (en) Switch to hg.netbeans.org completed, NetBeans, 27 januari 2008
  12. (en) James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1, Robert Eckstein, oktober 2006
  13. (en) Python-Dev - And the winner is..., Guido van Rossum, 30 maart 2009