b"\n_START_ARTICLE_\nMercurial\n_START_SECTION_\nGeschiedenis\n_START_PARAGRAPH_\nDe 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._NEWLINE_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.\n_START_SECTION_\nWerking\n_START_PARAGRAPH_\nMercurial is hoofdzakelijk geschreven in de programmeertaal Python; het diff-algoritme is geschreven in C, gebaseerd op de module difflib van Python._NEWLINE_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."