User:Your psycho madre/sandbox

Меркуријал
Developer(s)Mет Макал
Written inПајтон and Ц
Operating systemЈуникс-слични, МС Виндоус, Mac OS X
TypeСистем за контролу верзије
LicenseGNU GPL v2+
Websitewww.mercurial-scm.org

Меркуријал, мулти-платформа, дистрибуирана алатка за надзорну контролу намељена програмерима, је углавном имплементирана коришћењем програмског језика Пајтон, али укључује и бинарне диф имплементације написане у Це-у. Подржавају га МС Виндоус и Јуникс-слични системи, као рецимо FreeBSD, MAC OS X и Линукс. Меркуријал ради преко интерфејса командне линије, али су екстензије за графичко кориснички интерфејс доступне. Све меркуријал операције су призване као аргументи до њиховог главног програма hg(референцa на Hg – хемијски симбол за живу).

Главни циљеви у дизајну меркуријала укључују високу перфомансу и скалабилност, децентрализацију, потпуно дистрибуирани заједнички развој, стабилно руковање обичног текста и бинарних фајлова, и унапређена гранања и могућност спајања, док остаје концептуално једноставан[1]. Укључује интегрисани веб-интерфејс. Меркуријал је такође олакшао транзицију за кориснике осталих контрола верзија система, највише Субверзија.

Mет Maкал је створио Меркуријал и сервере као њихов главни девелопер. Меркуријал је пуштен као бесплатан софтвер под условима GNU GPLv2(или било које касније верзије[2]).

Историја edit

Макал је први пут најавио појаву Меркуријала 19 Априла 2005.[3] Подстицај за то је саопштење раније тог месеца о повлачењу Битмоверовог бесплатног BitKeeper-a.

BitKeeper је коришћен за упраљање изворног кода код Линукс кернел пројекта. Макал је одлучио да напише дистрибуирани изворни код система као замена Линукс кернелу. Овај пројекат је започео пар дана након још једног пројекта званог Гит, који је покренуо Линус Торвалдс са сличном намером[4].

Пројекат Линукс кернела је одлучио да радије користи Гит него Меркуријал, али се Меркуријал данас користи за остале различите пројекте(погледај испод). “Гит против Меркуријала” је постао један од светих ратова хакерске културе[5].

Као одговор мејл листи Меркуријала, Мет Макал је објаснио како је име „Меркуријал“ изабрано:[6]

Непосредно пре свог првог издања, прочитао сам чланак о поразу тренутног BitKeeper-а који описује Лери МекВој-а као меркуријал(у смислу „непредвидив“). Због различитих значења, прикладна скраћеница и добар фит са мојом претходно постојућом шемом имена(погледајте моју е-мејл адресу), савршено се уклопило. Меркуријал је добио име у част Лерија. Не знам да л' је истина и за Гит.

2013. године, Фејсбук је усвојио Меркуријал и почео да га развија за руковање њиховом великим и јединственим кодним складиштем[7].

Дизајн edit

Меркуријал користи SHA-1 хешеве да идентификује корекције. За приступ складишту, Меркуријал користи HTTP базиран протокол који тражи да смањи повратне захтеве, нове конекције и пренешене податке. Меркуријал такође ради преко SSH-а где је протокол јако сличан оном који је базиран на HTTP-у. Користи троструко спајање пре него што позове спољашње алатке за спајање.

  1. ^ Mackall, Matthew ‘Matt’ (2006), "Towards a Better SCM: Revlog and Mercurial" (PDF), Linux Symposium Proceedings, Ottawa: Mercurial-scm.org {{citation}}: |format= requires |url= (help).
  2. ^ "Relicensing", Mercurial (wiki), Mercurial-scm.org.
  3. ^ Mackall, Matt (2005-04-20). "Mercurial v0.1 – a minimal scalable distributed SCM". Linux kernel (Mailing list). {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  4. ^ Mackall, Matt (2005-04-29). "Re: Mercurial 0.4b vs git patchbomb benchmark". Linux kernel (Mailing list). {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  5. ^ "Managing source code with Mercurial". Mercurial and Git fans are also happy to discuss the learning curve, merits, and usability of each VCS system's command set. Space prevents that discussion here, but a web search on that topic will provide lots of interesting reading material.
  6. ^ Mackall, Matt (2012-02-15). "Why did Matt choose the name Mercurial?". Mercurial (Mailing list). Retrieved 7 June 2016. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  7. ^ Goode, Durham; Agarwal, Siddharth. "Scaling Mercurial at Facebook". Facebook Code. Facebook. Retrieved 13 October 2015.