Меркуријал
Меркуријал, вишеплатформска дистрибуирана алатка за надзорну контролу намењена програмерима, је већински имплементирана коришћењем програмског језика Пајтон, али укључује и имплементацију диф програма написаног у Це-у. Подржавају га 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 показује неке најбитније операције у Меркуријалу и њихову повезаност са концептима Меркуријала.
Сродни софтвер
уреди- ГКИ (графички кориснички интерфејс) интерфејси за Меркуријал уклјучују:
- 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, и Мозила.
Хостовање изворног кода
уредиСледећи интернет сајтови обезбеђују бесплатно хостовање изворног кода за складишта Меркуријала:
- Bitbucket од Atlassian
- CodePlex од Мајкрософта[22]
- Codebase[23]
- JavaForge
- Project Kenai од Oracle
- SourceForge
- Assembla
- GNU Savannah од FSF
- Alioth од Debian
- BerliOS
- Kiln од Fog Creek Software
- Остали[24]
Пројетки отвореног кода који користе Меркуријал
уредиНеки пројекти који користе Меркуријал[25]
Види још
уредиРеференце
уреди- ^ Mackall, Matthew ‘Matt’ (2006), „Towards a Better SCM: Revlog and Mercurial” (PDF), Linux Symposium Proceedings (PDF)
|format=
захтева|url=
(помоћ), Ottawa: Mercurial-scm.org - ^ „Relicensing”, Mercurial (wiki), Mercurial-scm.org
- ^ Mackall, Matt (20. 4. 2005). „Mercurial v0.1 – a minimal scalable distributed SCM”. Linux kernel (Листа адреса). Архивирано из оригинала 5. 8. 2012. г. Приступљено 9. 6. 2016.
- ^ Mackall, Matt (29. 4. 2005). „Re: Mercurial 0.4b vs git patchbomb benchmark”. Linux kernel (Листа адреса). Архивирано из оригинала 9. 7. 2012. г. Приступљено 9. 6. 2016.
- ^ „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.”
- ^ Mackall, Matt (15. 2. 2012). „Why did Matt choose the name Mercurial?”. Mercurial (Листа адреса).
- ^ Goode, Durham; Agarwal, Siddharth. „Scaling Mercurial at Facebook”. Facebook Code. Facebook. Приступљено 13. 10. 2015.
- ^ „Introduction”. TortoiseHg Documentation. Приступљено 23. 4. 2014.
- ^ MacHg
- ^ Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree
- ^ „Hgk Extension”. Mercurial Wiki. Приступљено 23. 4. 2014.
- ^ „hgview (qt4 and text based Mercurial log navigator) (Logilab.org)[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 05. 04. 2012. г. Приступљено 09. 06. 2016. Сукоб URL—викивеза (помоћ)
- ^ [„snej / Murky / wiki / Home — Bitbucket[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 10. 03. 2012. г. Приступљено 09. 06. 2016. Сукоб URL—викивеза (помоћ) snej / Murky / wiki / Home — Bitbucket]
- ^ James Walker's Mac Stuff
- ^ EasyMercurial
- ^ Google Code Archive - Long-term storage for Google Code Project Hosting
- ^ http://meld.sourceforge.net/
- ^ „VisualHG - Home[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 11. 03. 2012. г. Приступљено 09. 06. 2016. Сукоб URL—викивеза (помоћ)
- ^ [„zzsergant / HgSccPackage / wiki / Home — Bitbucket[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 03. 07. 2020. г. Приступљено 09. 06. 2016. Сукоб URL—викивеза (помоћ) zzsergant / HgSccPackage / wiki / Home — Bitbucket]
- ^ „Intland codeBeamer[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 08. 04. 2013. г. Приступљено 09. 06. 2016. Сукоб URL—викивеза (помоћ)
- ^ „Scaling Mercurial at Facebook”.
- ^ „CodePlex now supporting native Mercurial”. CodePlex (Weblog). Microsoft. 22. 1. 2010. Архивирано из оригинала 7. 7. 2013. г. Приступљено 9. 6. 2016.
- ^ „Git, Mercurial & Subversion hosting”. Features. Codebase HQ. 4. 3. 2013. Архивирано из оригинала 30. 3. 2014. г. Приступљено 9. 6. 2016.
- ^ „Hosting”, Mercurial (wiki), Mercurial-scm.org
- ^ „Some projects that use Mercurial”, Mercurial (wiki), Mercurial-scm.org
- ^ „Source”, Adblock+, Архивирано из оригинала 16. 06. 2016. г., Приступљено 09. 06. 2016
- ^ „Source code repositories migrated from Subversion to Mercurial”. Coin3D (news). 27. 2. 2010. Архивирано из оригинала 26. 7. 2012. г. Приступљено 9. 6. 2016.
- ^ „Mercurial Work Flow” (wiki). Illumos. 13. 3. 2011.
- ^ Reed, J Paul (12. 4. 2007). „Version Control System Shootout Redux Redux”.
- ^ „Switch to hg.netbeans.org completed”. Net beans. јануар 2008. Архивирано из оригинала 18. 09. 2012. г. Приступљено 09. 06. 2016.
- ^ „Mercurial”. Developers. OGRE – Open Source 3D Graphics Engine. 4. 4. 2010. Архивирано из оригинала 2. 1. 2011. г. Приступљено 9. 6. 2016.
- ^ James Gosling. „Open Sourcing Sun's Java Platform Implementations, Part 1” (интервју). Интервју са Robert Eckstein. Sun.
- ^ „Source Repositories”. OpenIndiana. 13. 3. 2011. Архивирано из оригинала 15. 08. 2016. г. Приступљено 09. 06. 2016.
Спољашње везе
уреди- Званични веб-сајт
- O'Sullivan, Bryan (2009), Mercurial: The Definitive Guide (book), O'Reilly, freely available online
- „Mercurial: an alternative to git”, LWN
- An example-based Mercurial tutorial (PDF), SE: Jemander covering both basic and advanced use
- „Mercurial”, TechTalk (video)
|format=
захтева|url=
(помоћ), Google, Архивирано из оригинала 06. 04. 2010. г., Приступљено 09. 06. 2016 - „Subversion or CVS, Bazaar or Mercurial? Four open source version control systems compared”, Java World, септембар 2007, Архивирано из оригинала 03. 06. 2013. г., Приступљено 09. 06. 2016
- Spolsky, Joel, Mercurial tutorial, Архивирано из оригинала 13. 6. 2016. г., Приступљено 9. 6. 2016
- Mackall, Matt, „FLOSS Podcast”, This week in Tech[мртва веза]
- List of projects using Mercurial from the Mercurial wiki