title: Mercurial
text: 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 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.
  
  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 Matt Mackall met de ontwikkeling van Mercurial.
  
  Werking 
  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.
  
  Gebruik 
  Verscheidene websites ondersteunen het gebruik van Mercurial als versiebeheersysteem, waaronder:
  
   Bitbucket
   Google Code (stopgezet)
   Project Kenai (stopgezet)
   SourceForge.net
   GNU Savannah
   Assembla
  
  Enkele bekende projecten die Mercurial gebruiken (of gaan gebruiken) zijn: Mozilla, NetBeans, OpenJDK en Python.
  
  Externe links 
   Mercurial
   Mercurial: The Definitive Guide, Bryan O'Sullivan
   Mercurial - Google TechTalks, Bryan O'Sullivan
  
  Opensourcesoftware en vrije software
  Software geschreven in C
  Software geschreven in Python
  Versiebeheersysteem