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

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

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

Историја

уреди

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

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

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

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

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

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

Дизајн

уреди

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

Употреба

уреди

Приказ 1 показује неке најбитније операције у Меркуријалу и њихову повезаност са концептима Меркуријала.

 
Приказ 1: Неке битне операције у Меркуријалу и њихова повезаност.

Сродни софтвер

уреди
 
Приказ: hgk у употреби
 
Приказ: TortoiseHg историја корисника
TortoiseHg
TortoiseHg је вишеплатформски ГКИ за Меркуријал. Већина Меркуријалових операција могу бити покренуте са графичког интерфејса. Може бити употребљено на Windows, Mac OS X, или Линукс системима.[8] На Windows системима, TortoiseHg инсталер везује Меркуријал и Пајтон.
MacHg
MacHg је бесплатан и брз вишенитан фронтенд за Mac OS X 10.6 и касније верзије.[9]
SourceTree
је бесплатан клијент за Mac OS X и Windows ГУИ, којег је развио Atlassian, који ради и са Меркуријалом, и са Гитом.[10]
Hgk
Ово је био првобитни прегледач пријава за Меркуријал. Имплементиран је као продужетак за Меркуријал са tcl/tk фронтендом. Заснован је на сличном алату за Гит, који се назива gitk. Овај брегледач се сматра сада непожељним.[11] Препоручене алтернативе су hgview[12] или TortoiseHg.
Murky
ГКИ за Mac OS X писан у Objective-C 2.0. Ради на Mac OS X 10.5 и на каснијим верзијама.[13]
MacMercurial
ГКИ за Mac OS X, који не треба да у потпуности замени употребу командне линије за Меркуријал, него да олакша најуобичајније Меркуријал операције. Ради на Mac OS X 10.4 и на каснијим верзијама.[14]
EasyMercurial
То је прост кориснички интерфејс за Меркуријал дистрибуиране системе за контролу. Он је бесплатан вишеплатформски софтвер отвореног кода.[15]
hgtui
То је бесплатан ТКИ за Линукс и Windows.[16]
  • Сродни алати за спајање су (h)gct (Qt) и Meld.[17]
  • Увожење је омогућено из следећих типова складишта: CVS, Darcs, Git, GNU Arch, Monotone, Perforce, Bazaar and Subversion.
  • Microsoft Visual Studio подржава Меркуријал са VisualHG[18] и HgSccPackage[19] додацима.
  • NetBeans подржавају Меркуријал од верзије 6.
  • Eclipse подржава Меркуријал помоћу MercurialEclipse[20] додатка.
  • GNU Emacs подржава Меркуријал у свом VC продућетку.

Усвајање

уреди

Иако Меркуријал није био изабран да руководи изворима Линукс кернела, прихаћен је од појединих организација, укљућујући Фејсбук,[21] W3C, и Мозила.

Хостовање изворног кода

уреди

Следећи интернет сајтови обезбеђују бесплатно хостовање изворног кода за складишта Меркуријала:

Пројетки отвореног кода који користе Меркуријал

уреди

Неки пројекти који користе Меркуријал[25]

Види још

уреди

Референце

уреди
  1. ^ Mackall, Matthew ‘Matt’ (2006), „Towards a Better SCM: Revlog and Mercurial” (PDF), Linux Symposium Proceedings (PDF)|format= захтева |url= (помоћ), Ottawa: Mercurial-scm.org 
  2. ^ „Relicensing”, Mercurial (wiki), Mercurial-scm.org 
  3. ^ Mackall, Matt (20. 4. 2005). „Mercurial v0.1 – a minimal scalable distributed SCM”. Linux kernel (Листа адреса). Архивирано из оригинала 5. 8. 2012. г. Приступљено 9. 6. 2016. 
  4. ^ Mackall, Matt (29. 4. 2005). „Re: Mercurial 0.4b vs git patchbomb benchmark”. Linux kernel (Листа адреса). Архивирано из оригинала 9. 7. 2012. г. Приступљено 9. 6. 2016. 
  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 (15. 2. 2012). „Why did Matt choose the name Mercurial?”. Mercurial (Листа адреса). 
  7. ^ Goode, Durham; Agarwal, Siddharth. „Scaling Mercurial at Facebook”. Facebook Code. Facebook. Приступљено 13. 10. 2015. 
  8. ^ „Introduction”. TortoiseHg Documentation. Приступљено 23. 4. 2014. 
  9. ^ MacHg
  10. ^ Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree
  11. ^ „Hgk Extension”. Mercurial Wiki. Приступљено 23. 4. 2014. 
  12. ^ „hgview (qt4 and text based Mercurial log navigator) (Logilab.org)[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 05. 04. 2012. г. Приступљено 09. 06. 2016.  Сукоб URL—викивеза (помоћ)
  13. ^ [„snej / Murky / wiki / Home — Bitbucket[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 10. 03. 2012. г. Приступљено 09. 06. 2016.  Сукоб URL—викивеза (помоћ) snej / Murky / wiki / Home — Bitbucket]
  14. ^ James Walker's Mac Stuff
  15. ^ EasyMercurial
  16. ^ Google Code Archive - Long-term storage for Google Code Project Hosting
  17. ^ http://meld.sourceforge.net/
  18. ^ „VisualHG - Home[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 11. 03. 2012. г. Приступљено 09. 06. 2016.  Сукоб URL—викивеза (помоћ)
  19. ^ [„zzsergant / HgSccPackage / wiki / Home — Bitbucket[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 03. 07. 2020. г. Приступљено 09. 06. 2016.  Сукоб URL—викивеза (помоћ) zzsergant / HgSccPackage / wiki / Home — Bitbucket]
  20. ^ „Intland codeBeamer[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 08. 04. 2013. г. Приступљено 09. 06. 2016.  Сукоб URL—викивеза (помоћ)
  21. ^ „Scaling Mercurial at Facebook”. 
  22. ^ „CodePlex now supporting native Mercurial”. CodePlex (Weblog). Microsoft. 22. 1. 2010. Архивирано из оригинала 7. 7. 2013. г. Приступљено 9. 6. 2016. 
  23. ^ „Git, Mercurial & Subversion hosting”. Features. Codebase HQ. 4. 3. 2013. Архивирано из оригинала 30. 3. 2014. г. Приступљено 9. 6. 2016. 
  24. ^ „Hosting”, Mercurial (wiki), Mercurial-scm.org 
  25. ^ „Some projects that use Mercurial”, Mercurial (wiki), Mercurial-scm.org 
  26. ^ „Source”, Adblock+, Архивирано из оригинала 16. 06. 2016. г., Приступљено 09. 06. 2016 
  27. ^ „Source code repositories migrated from Subversion to Mercurial”. Coin3D (news). 27. 2. 2010. Архивирано из оригинала 26. 7. 2012. г. Приступљено 9. 6. 2016. 
  28. ^ „Mercurial Work Flow” (wiki). Illumos. 13. 3. 2011. 
  29. ^ Reed, J Paul (12. 4. 2007). „Version Control System Shootout Redux Redux”. 
  30. ^ „Switch to hg.netbeans.org completed”. Net beans. јануар 2008. Архивирано из оригинала 18. 09. 2012. г. Приступљено 09. 06. 2016. 
  31. ^ „Mercurial”. Developers. OGRE – Open Source 3D Graphics Engine. 4. 4. 2010. Архивирано из оригинала 2. 1. 2011. г. Приступљено 9. 6. 2016. 
  32. ^ James Gosling. „Open Sourcing Sun's Java Platform Implementations, Part 1” (интервју). Интервју са Robert Eckstein. Sun. 
  33. ^ „Source Repositories”. OpenIndiana. 13. 3. 2011. Архивирано из оригинала 15. 08. 2016. г. Приступљено 09. 06. 2016. 

Спољашње везе

уреди