Array ( [0] => 15623464 [id] => 15623464 [1] => cswiki [site] => cswiki [2] => Monotone [uri] => Monotone [3] => [img] => [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => {{Infobox - software [1] => | jméno = Amonotone [2] => | logo = monotone-logo.png [3] => | vývojář = Monotone team [4] => | první vydání = 6. dubna 2003 [5] => | programovací jazyk = C++ [6] => | operační systém = [[Unix]], [[Linux]], [[BSD]], [[macOS]], [[Microsoft Windows|Windows]] [7] => | lokalizace = angličtina, italština, švédština, portugalština, němčina, španělština [8] => | typ softwaru = [[Verzování|Verzovací systém]] [9] => | licence = [[GNU General Public License]] [10] => | web = {{URL|www.monotone.ca}} [11] => }} [12] => '''Monotone''' je [[Distribuované verzování|distribuovaný]] [[Verzování|verzovací systém]] [[Svobodný software|s otevřeným zdrojovým textem]]. [13] => [14] => Monotone sleduje revize souborů, seskupuje sady revizí do changesetů a sleduje historii včetně přejmenování. Preferuje integritu před výkonností.{{Citace elektronické monografie [15] => | url = http://www.smashingmagazine.com/2008/09/18/the-top-7-open-source-version-control-systems/ [16] => | title = 7 Version Control Systems Reviewed [17] => | datum přístupu = 2010-11-01 [18] => | datum = 2008-09-18 [19] => }} Monotone je navržen jako [[Distribuované verzování|distribuovaný]] systém a intenzivně využívá kryptografická primitiva pro sledování revizí (pomocí [[Kryptografická hašovací funkce|kryptografické hašovací funkce]] [[SHA-1]]) a pro autentizaci činností uživatelů (pomocí digitálních podpisů využívajících [[RSA]]). [20] => [21] => == Návrh == [22] => [23] => Na rozdíl od [[Apache Subversion]] používá Monotone [[Distribuované verzování|distribuovaný]] přístup k [[verzování]] (stejně jako [[GNU arch]] a [[Git]]). Stejně jako [[Git]] a [[Mercurial]] používá Monotone používá [[SHA-1]] haše pro identifikaci souborů a skupin souborů, místo obvyklých lineárních čísel revizí. Pro každého uživatele se udržuje jeho vlastní historie revizí, která je uložena v lokální databázi [[SQLite]]. [24] => [25] => === Integrita === [26] => [27] => Před rozsáhlými optimalizacemi ve verzi 0.27 bylo kvůli prvním zkušenostem Monotone často kritizováno pro jeho důraz na správnost před optimalizací. První akcí nového uživatele je obvykle synchronizace (naklonování) rozsáhlé existující databáze Monotone, což je akce, která pro rozsáhlé databáze může trvat hodiny kvůli podrobné validaci a kontrole integrity, jež Monotone provádí, když se přenášejí revize po síti. Po načtení počátečního klonu databáze fungují další činnosti obvykle rychleji. Ale i po roce 2010 existuje prostor pro další optimalizaci některých méně používaných funkcí. [28] => [29] => === Workflow === [30] => [31] => Silnou stránkou Monotone je jeho podpora používání diverge/merge přístupu, kterého dosahuje mimo jiné tím, že vždy dovoluje provedení commitu před sloučením větví.{{Citace elektronické monografie [32] => | url = http://www.monotone.ca/docs/Dealing-with-a-Fork.html [33] => | titul = Dealing with a Fork - monotone documentation [34] => | datum přístupu = 2010-11-21 [35] => }} [36] => [37] => === Síťový přístup === [38] => [39] => Ačkoli Monotone původně podporoval množství síťových protokolů pro synchronizaci stromů, nyní používá výhradně vlastní protokol nazývaný ''netsync'', který je robustnější a efektivnější a sdílí určité koncepční rysy s [[rsync]] a [[cvsup]]. (Od verze 0.27 je možné používat netsync protokol ''přes'' jakýkoli proud, včetně ssh spojení.) ''Netsync'' má vlastní smluvený port přiřazený [[Internet Assigned Numbers Authority|IANA]] (4691) a jeho starší verze jsou podporovány zásuvným modulem pro [[Wireshark]]. Neexistuje zvláštní Monotone server, protože jakýkoli Monotone klient může fungovat jako server. [40] => [41] => == Další vlastnosti == [42] => [43] => K dalším vlastnostem Monotone patří: [44] => [45] => * Dobrá podpora pro [[Internacionalizace a lokalizace|internacionalizaci a lokalizaci]] [46] => * Přenositelný design, implementace v [[C++]] [47] => * Vysoká integrita je klíčovým cílem návrhu [48] => * Monotone může importovat [[CVS]] projekty [49] => * [[Elektronický podpis|Elektronické podepisování]] revizí pomocí [[RSA]] certifikátů [50] => * Snadné pro naučení díky sadě příkazů podobných [[CVS]] [51] => * Velmi dobrý při vytváření a slučování větví [52] => * Dobrá dokumentace [53] => * Velmi jednoduchá správa [54] => * Existence stabilních [[Grafické uživatelské rozhraní|grafických uživatelských rozhraní]]: [55] => ** [https://web.archive.org/web/20080115062334/http://guitone.thomaskeller.biz/ guitone], frontend v [[Qt (knihovna)|Qt]] pro správu pracovních ploch a databáze (podporovaný v systémech MS-Windows a Unix/Linux/MacOS) [56] => ** [http://www.coosoft.plus.com/software.html mtn-prohlížet] {{Wayback|url=http://www.coosoft.plus.com/software.html |date=20191013052138 }}, grafický prohlížeč v [[GTK+|Gtk2]], který umožňuje prohlížení databáze, i na dálku, bez potřeby pracovního stromu (podporované v systémech Unix/Linux/MacOS) [57] => ** [https://web.archive.org/web/20170510144151/http://oandrieu.nerim.net/monotone-viz/ Monotone-Viz], grapher historie revizí (podporovaný v systémech MS-Windows a Unix/Linux) [58] => ** [http://tracmtn.1erlei.de TracMtn], [[Trac]] plugin pro prohlížení historie a repozitářů [59] => * Úplná a vyčerpávající knihovna pro [[Perl]], která umožňuje úplně ovládat Monotone pomocí skriptů v Perlu (kterou používá mtn-browse) [60] => [61] => === Nedostatky === [62] => [63] => Mezi nedostatky Monotone v lednu 2008 patřilo: [64] => [65] => * Potenciální uživatelé nemohou přistupovat ke vzdáleným repozitářům za proxy (které jsou velmi obvyklé ve firemním prostředí) kvůli použití jiného protokolu než http [66] => * Výkonnostní problémy při určitých operacích (nejlépe viditelné při počátečním pull) [67] => [68] => == Milníky == [69] => [70] => V Monotone verze 0.26 byly provedeny velmi rozsáhlé změny ve struktuře interní databáze, včetně zavedení nové struktury nazývané vývojáři Monotone ''roster''{{Citace elektronické monografie [71] => | url = http://lists.gnu.org/archive/html/monotone-devel/2005-11/msg00102.html [72] => | titul = What are rosters [73] => }}. Databáze vytvořenou v Monotone verze 0.26 nelze použít pro výměnu revizí se starší verzí databáze. Starší databáze musí být nejdříve upgradována na nový formát. Nový protokol netsync je nekompatibilní s dřívější verzí Monotone. [74] => [75] => == Implementace == [76] => [77] => Monotone je implementováno v moderním dialektu jazyka C++ s použitím knihovny [[Boost]], kryptografické knihovny [[Botan (software)|Botan]] a databázové knihovny [[SQLite]]. Monotone podporuje přizpůsobování a rozšiřování pomocí ''hook funkcí'' napsaných v jazyce [[Lua]]. Proces překladu Monotone je automatizován nástrojem [[BuildBot]] a obsahuje množství [[Regresní test|regresních testů]]. [78] => [79] => == Monotone jako inspirace pro Git == [80] => [81] => V dubnu 2005 se Monotone stal předmětem zvýšeného zájmu [[free a open-source software]] komunity poté, co jej [[Linus Torvalds]] zmínil jako možnou náhradu [[BitKeeper]]u pro vývoj jádra [[Linux]]u. V příspěvku v [[Elektronický mailing list|mailing listu]] pro [[Linux (jádro)|vývoj jádra Linuxu]] Torvalds chválil Monotone a kritizoval Subversion (a prakticky všechny verzovací systémy klient-server):{{Citace elektronické monografie [82] => | url = https://lkml.org/lkml/2005/4/6/121 [83] => | titul = LKML: Linus Torvalds: Kernel SCM saga [84] => | dílo = [[LKML]] [85] => | autor = [[Linus Torvalds]] [86] => | datum = 2005-04-06 [87] => }} [88] => {{citát|Neobtěžujte mě řečmi o subversion. Pokud musíte, začněte si číst o „monotone“, zdá se, že je to nejvíce životaschopná alternativa. Ale neotravujte jeho vývojáře při práci, už ví o mých problémech ;)}} [89] => [90] => Nakonec se namísto použití Monotone Torvalds rozhodl napsat vlastní [[Verzování|verzovací]] systém, [[Git]]. Návrh Gitu používá některé myšlenky z Monotone, ale oba projekty nesdílí žádný [[zdrojový kód]]. Git je mnohem více zaměřen na vysokou výkonnost, která vyplynula z Linusovy dlouhodobé zkušenosti s distribuovaným vývojem jádra Linuxu, na kterém spolupracuje s mnoha autory. Torvalds později okomentoval design a výkonnost Monotone: [91] => [92] => {{citát|Pokud chcete VCS, který je napsaný v jazyce C++, zkuste Monotone. Opravdu. Používá „skutečnou databázi“, „pěkné objektově orientované knihovny“ a „krásné abstrakce v C++“. Ale upřímně řečeno, výsledkem všech těchto návrhových rozhodnutí, které znějí některým informatikům tak přitažlivě, je strašlivý a neudržovatelný zmatek.{{Citace elektronické monografie [93] => | url = http://article.gmane.org/gmane.comp.version-control.git/57918 [94] => | titul = Re: [RFC] Convert builin-mailinfo.c to use The Better String Library [95] => | dílo = [[GMANE]] [96] => | autor = [[Linus Torvalds]] [97] => | datum = 2007-09-06 [98] => | datum přístupu = 2018-07-13 [99] => | url archivu = https://web.archive.org/web/20150813171637/http://article.gmane.org/gmane.comp.version-control.git/57918 [100] => | datum archivace = 2015-08-13 [101] => | nedostupné = ano [102] => }} }} [103] => [104] => === Cherry-picking === [105] => [106] => Klíčovým problémem, o kterém se diskutovalo,{{Citace elektronické monografie [107] => | url = http://lkml.iu.edu/hypermail/linux/kernel/0504.0/1702.html [108] => | titul = LKML: David Woodhouse: Kernel SCM saga [109] => | datum přístupu = 2017-02-23 [110] => | autor = David Woodhouse [111] => | datum = 2005-04-07 [112] => }} bylo, zda náhrada [[BitKeeper]]u má podporovat [[Vyzobávání rozinek|operaci cherry-pick]] umožňující, aby správce kódu při schvalování určité sady záplat zamítal vybrané jednotlivé záplaty. Torvalds argumentoval tím, že tento přístup „vede k nesprávné dynamice a psychologii v systému“, protože přesunuje zátěž na správce, místo aby autoři kódu vynaložili větší úsilí na udržování svého stromu bez odpadků. Tvrdil, že odmítání cherry-pick jako vlastnosti v Monotone je správné, ale není dostatečně důsledné, aby umožnilo snadné „zahazování“ nečistých pracovních stromů poté, co splnily svůj účel.{{Citace elektronické monografie [113] => | url = https://lkml.org/lkml/2005/4/7/150 [114] => | title = LKML: Linus Torvalds: Re: Kernel SCM saga [115] => | dílo = [[LKML]] [116] => | autor = [[Linus Torvalds]] [117] => | datum = 2005-04-07 [118] => }} Torvalds také uvedl, že Monotone v té době nedosahoval výkonnosti potřebné pro projekt tak velký jako je vývoj Linuxového jádra. [119] => [120] => Tento argument je v rozporu s vnímáním mnoha vývojářů, že použití funkce cherry-pick je pokročilá vlastnost, kterou musí verzovací nástroj podporovat. Jiné SCM nástroje, jako například [[Darcs]], jsou v této oblasti obzvláště silné. V roce 2010 Git i Monotone již určitou dobu cherry-picking podporovaly. [121] => [122] => == Podpora == [123] => [124] => Podpora pro Monotone je dostupná v [[elektronický mailing list|mailing listech]], na [[Internet Relay Chat|IRC]] a na podpůrné wiki. [125] => [126] => == Uživatelé Monotone == [127] => [128] => * [[GENESIS (software)|GENESIS]]{{Citace elektronické monografie [129] => | url = http://genesis-sim.org/userdocs/installation-developer/installation-developer.html [130] => | datum přístupu = 2015-12-26 [131] => | titul = GENESIS Developer Installation [132] => | url archivu = https://web.archive.org/web/20151227093438/http://genesis-sim.org/userdocs/installation-developer/installation-developer.html [133] => | datum archivace = 2015-12-27 [134] => | nedostupné = ano [135] => }} [136] => * [[I2P]]{{Citace elektronické monografie [137] => | url = https://geti2p.net/en/get-involved/guides/new-developers#getting-the-i2p-code [138] => | titul = Getting the I2P code [139] => | website = geti2p.net [140] => | datum přístupu = 2014-07-03 [141] => }} [142] => [143] => == Odkazy == [144] => === Reference === [145] => {{Překlad|en|Monotone (software)|842271950}} [146] => [147] => [148] => === Související články === [149] => * [[Verzování]] [150] => * [[Git]] [151] => * [[Apache Subversion]] [152] => [153] => === Externí odkazy === [154] => * [http://www.monotone.ca Oficiální web] [155] => * [http://wiki.monotone.ca Podpůrná wiki] [156] => * [http://viewmtn.1erlei.de ViewMTN frontend pro Monotone] [157] => * [https://web.archive.org/web/20060829084117/http://oandrieu.nerim.net/monotone-viz/ Monotone-viz, prohlížeč repozitářů pro Monotone v GTK+] [158] => * [http://wiki.monotone.ca/InterfacesFrontendsAndTools Další nástroje pro Monotone] [159] => [160] => {{Software pro správu verzí}} [161] => [162] => [[Kategorie:Systémy pro správu verzí]] [163] => [[Kategorie:Software skriptovatelný v jazyce Lua]] [164] => [[Kategorie:Svobodný software naprogramovaný v C++]] [] => )
good wiki

Monotone

Monotone je distribuovaný verzovací systém s otevřeným zdrojovým textem. Monotone sleduje revize souborů, seskupuje sady revizí do changesetů a sleduje historii včetně přejmenování.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'Git','Verzování','Distribuované verzování','CVS','Linux','Apache Subversion','SHA-1','SQLite','RSA','BitKeeper','Kryptografická hašovací funkce','zdrojový kód'