Monotone (software)

Monotone
Developer(s)The monotone team
Initial releaseApril 6, 2003; 21 years ago (2003-04-06)
Final release
1.1[1] / May 4, 2014; 10 years ago (2014-05-04)
Repository
Written inC++
Operating systemUnix, Linux, BSD, Mac OS X, Windows
Available inEnglish, Italian, Swedish, Portuguese, German, Spanish
TypeRevision control
LicenseGPL-2.0-or-later
Websitewww.monotone.ca Edit this on Wikidata

Monotone is an open source software tool for distributed revision control. It tracks revisions to files, groups sets of revisions into changesets, and tracks history across renames. The focus of the project is on integrity over performance.[2] Monotone is designed for distributed operation, and makes heavy use of cryptographic primitives to track file revisions (via the SHA-1 secure hash) and to authenticate user actions (via RSA cryptographic signatures).

History

Milestones

Monotone version 0.26 introduced major changes to the internal database structures, including a new structure known by Monotone developers as a roster.[3] Monotone databases created with version 0.26 can not exchange revisions with older Monotone databases. Older databases must first be upgraded to the new format. The new netsync protocol is incompatible with earlier versions of Monotone.

As Git inspiration

In April 2005, Monotone became the subject of increased interest in the FOSS community after Linus Torvalds mentioned it as a possible replacement for BitKeeper in the Linux development process. In a post on the Linux kernel mailing list, Torvalds praised Monotone and disparaged Subversion (and by extension, all client-server version-control systems):[4]

Don't bother telling me about subversion. If you must, start reading up on "monotone". That seems to be the most viable alternative, but don't pester the developers so much that they don't get any work done. They are already aware of my problems ;)

— [4]

Instead of adopting Monotone, Torvalds decided to write his own SCM system, Git. Git's design uses some ideas from Monotone, but the two projects do not share any core source code. Git has a much stronger focus on high performance, inspired by the lengthy history and demanding distributed modes of collaboration used by Torvalds and the other Linux kernel authors. Torvalds later commented on Monotone's design and performance:

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.

— [5]

A key issue debated[6] was whether the replacement of BitKeeper should support cherry picking, whereby a tree maintainer can approve a subset of patches while rejecting others on an individual basis. Torvalds argued that this approach "results in the wrong dynamics and psychology in the system" by shifting burden to the upstream maintainers rather than forcing downstream maintainers to put more effort into keeping their trees free from garbage. He further argued that Monotone is correct in its aversion to cherry-picking as a feature, but then failed to take it far enough by not making it easy enough to "throw away" unclean working trees after their purpose is served.[7] Torvalds also noted his perception that Monotone at that time had not achieved the performance level required by a project as large as Linux kernel development.

Design

Like GNU arch, and unlike Subversion, Monotone takes a distributed approach to version control. Monotone uses SHA-1 hashes to identify specific files or groups of files, as with Git and Mercurial, in place of linear revision numbers. Each participant maintains their own revision history, stored in a local SQLite database.

Integrity

Prior to some heavy optimisation in revision 0.27, Monotone's emphasis on correctness over optimisation was often blamed for poor initial experiences. The first action of a new user is often to synchronize (clone) a large existing Monotone database, an action which often took hours for large databases, due to the extensive validation and integrity checking which Monotone performs when revisions are moved through the network. Once the initial (clone) database is populated, subsequent actions usually proceed more rapidly. As of July 2010, there is still room for further optimisation on some rarer functions.[citation needed]

Workflow

Monotone is especially strong in its support for a diverge/merge workflow, which it achieves in part by always allowing commit before merge.[8]

Networking

Although Monotone originally supported a variety of networking protocols for synchronizing trees, it now exclusively uses a custom protocol called netsync, which is more robust and efficient, and shares some conceptual ground with rsync and cvsup. (However, as of version 0.27, it is possible to use the netsync protocol over any stream, notably including ssh connections.) Netsync has its own IANA-assigned port (4691) and older versions of it are supported by a Wireshark plug-in for traffic analysis. There is no separate Monotone server because any Monotone client can act as a server.

Other features

Other features of Monotone include:

  • Good support for internationalization and localization
  • Portable design, implemented in C++
  • High integrity is a key design goal
  • Monotone can import CVS projects.
  • Signing of revisions using RSA certificates
  • Easy to learn, due to a command set similar to that of CVS
  • Very good at branching (both divergences within a branch and named branches) and merging
  • Good documentation
  • Very low maintenance
  • Complete and comprehensive Perl library that allows you to completely control Monotone from a Perl script (mtn-browse makes use of this)

Drawbacks

As of January 2008, possible drawbacks of Monotone include:

  • Potential users cannot check out (or commit) from behind a proxy (very common in corporate environments) due to non-http protocol.
  • Performance issues for certain operations (most noticeable initial pull)

Implementation

Monotone is implemented in modern-dialect C++ on top of the Boost library, the Botan cryptography library, and the SQLite database library. Monotone supports customization and extension via hook functions written in the Lua programming language. The monotone build process is automated with BuildBot and includes extensive regression tests.

See also

References

  1. ^ "NEWS". May 4, 2014. Retrieved July 16, 2019.
  2. ^ "6 Version Control Systems Reviewed". September 18, 2008. Retrieved 2010-11-01.
  3. ^ What are rosters
  4. ^ a b Linus Torvalds (April 6, 2005). "LKML: Linus Torvalds: Kernel SCM saga". LKML.
  5. ^ Linus Torvalds (2007-09-06). "Re: [RFC] Convert builin-mailinfo.c to use The Better String Library". GMANE. Archived from the original on 2016-02-06.
  6. ^ David Woodhouse (2005-04-07). "LKML: David Woodhouse: Kernel SCM saga". Retrieved 2017-02-23.
  7. ^ Linus Torvalds (April 7, 2005). "LKML: Linus Torvalds: Re: Kernel SCM saga". LKML.
  8. ^ "Dealing with a Fork - monotone documentation". Retrieved 2010-11-21.

Read other articles:

Iyo-IyoStiker label singel Iyo-IyoSingel oleh Orkes GumarangSisi-BBacarai KasiahFormatpelat 10GenreJazz latinmusik MinangDurasi2:45[1]LabelMutiara MA-09-APPenciptaAsbon MadjidJanuar Arifin Iyo-Iyo adalah sebuah lagu yang diciptakan secara bersama oleh Asbon Madjid dan Januar Arifin, serta dinyanyikan oleh Orkes Gumarang dengan iringan vokal oleh Syaiful Nawas. Pada tahun 1960, lagu ini dinyanyikan ulang pada album kompilasi Lagu Gumarang Jang Terkenal. Referensi ^ Ijo-Ijo / Batjarai K...

 

 

1952 novella by Ernest Hemingway This article is about the novella by Ernest Hemingway. For other uses, see The Old Man and the Sea (disambiguation). The Old Man and the Sea Original book coverAuthorErnest HemingwayCountryUnited StatesLanguageEnglishGenreLiterary fictionPublisherCharles Scribner's SonsPublication dateSeptember 1, 1952AwardsPulitzer Prize for Fiction (1953)Nobel Prize in Literature (1954)ISBN978-1-9075-9027-6Dewey Decimal813.52LC ClassPS3515.E37 The Old Man and the Sea is...

 

 

Untuk penggunaan lain, lihat Riko. Riko the SeriesInformasi YouTubeKanal Riko the Series Lokasi IndonesiaSitus webRiko the SeriesGaris SepuluhPembuatTeuku WisnuArie UntungYuda WirafiantoTahun aktif9 Februari 2020–sekarangGenreAnimasiAnak-anakPendidikan hiburanPelanggan2,05 juta[1](Maret 2023)Total tayang>494 juta[1](Maret 2023) Riko the SeriesPengisi suaraJordan Omar sebagai RikoArie Untung sebagai Q110Bahasa asliBahasa IndonesiaProduksiJuru animasiGaris Se...

Kimberly EliseElise pada 2012LahirKimberly Elise Trammel17 April 1967 (umur 56)Minneapolis, Minnesota, Amerika SerikatPekerjaanAktrisTahun aktif1995–sekarangSuami/istriMaurice Oldham ​ ​(m. 1989; bercerai 2005)​Anak2Situs webwww.kimberlyelise.com Kimberly Elise Trammel (lahir 17 April 1967) adalah seorang aktris film dan televisi asal Amerika Serikat. Ia membuat debut film fitur dalam Set It Off (1996), dan kemudian meraih sambutan ...

 

 

Di Jepang, Istana Tōgū (東宮code: ja is deprecated , Tōgū, litt. Istana Timur) secara tradisional tidak merujuk ke satu lokasi, tetapi ke kediaman putra Mahkota Kekaisaran. Karena Pangeran Akishino, pewaris saat ini, bukan keturunan pria langsung daru Kaisar dan dirinya sendiri bukan Putra Mahkota Kekaisaran, saat ini tidak ada Istana Tōgū di Jepang dan tidak akan ada satupun sampai ada putra Mahkota Kekaisaran lainnya. Istana Akasaka Istana Akasaka赤坂御所Pintu Samegahashi-mon da...

 

 

Questa voce sull'argomento centri abitati del Delaware è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. DovercityCity of Dover Dover – VedutaLoockerman Street nel centro di Dover LocalizzazioneStato Stati Uniti Stato federato Delaware ConteaKent AmministrazioneSindacoCarleton Carey TerritorioCoordinate39°09′41.98″N 75°31′32.55″W / 39.161662°N 75.525709°W39.161662; -75.525709 (Dover)Coordinate: 39°09′41.98″...

2020年夏季奥林匹克运动会阿尔及利亚代表團阿尔及利亚国旗IOC編碼ALGNOC阿爾及利亞奧林匹克委員會網站www.coa.dz(法文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員41參賽項目14个大项旗手开幕式:穆罕默德·弗利希(拳击)和阿梅爾·梅利(英语:Amel Melih)(游泳)[1]闭幕式:伊曼·哈利夫(拳�...

 

 

  关于与「內閣總理大臣」標題相近或相同的条目页,請見「內閣總理大臣 (消歧義)」。 日本國內閣總理大臣內閣總理大臣紋章現任岸田文雄自2021年10月4日在任尊称總理、總理大臣、首相、阁下官邸總理大臣官邸提名者國會全體議員選出任命者天皇任期四年,無連任限制[註 1]設立法源日本國憲法先前职位太政大臣(太政官)首任伊藤博文设立1885年12月22日,...

 

 

«Отослание апостолов на проповедь» Сийское Евангелие. 1340 Пергамен, рукопись. 31,7 × 25 см Библиотека РАН, Санкт-Петербург  Медиафайлы на Викискладе Сийское Евангелие — рукописное Евангелие-апракос, написанное в 1339 (1340) году. Известно своей миниатюрой «Ото...

This article is part of a series onOceanian Culture Society Shared Histories Languages Religion People Indigenous European Arts and literature Architecture Art Literature Other Cuisine Cinema Mythology Sports Symbols Flags Armorial World Heritage Sites Oceania Portalvte The Indigenous peoples of Oceania are Aboriginal Australians, Papuans, and Austronesians (Melanesians,[note 1] Micronesians, and Polynesians). These indigenous peoples have a historical continuity with pre-colonial so...

 

 

Wind instrument with piston Slide whistle Diagram of a slide whistle. Sections: 1: mouthpiece, 2: fipple, 3: resonant cavity, 4: slide, 5: pull rod, 6: pipe. A slide whistle (variously known as a swanee or swannee whistle, lotus flute,[1] piston flute, or jazz flute) is a wind instrument consisting of a fipple like a recorder's and a tube with a piston in it. Thus it has an air reed like some woodwinds, but varies the pitch with a slide. The construction is rather like a bicycle pump....

 

 

Defunct American soccer club Soccer clubLos Angeles SalsaFull nameLos Angeles Salsa Professional Soccer ClubNickname(s)LA SalsaFounded1992Dissolved1995GroundTitan StadiumFullerton, CaliforniaCapacity10,000OwnerWilliam De La PenaGeneral ManagerRick DavisCoachRildo da Costa Menezes (1993)Rick Davis (1994–1995)LeagueAmerican Professional Soccer League1994 APSL2nd The Los Angeles Salsa was an American soccer team based in Los Angeles that played in the American Professional Soccer League (APSL)...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (نوفمبر 2018) أندريه كليمنت معلومات شخصية اسم الولادة (بالفرنسية: Andrée Louise Boyer)‏  الميلاد 7 أغسطس 1918   مارسيليا  الوفاة 31 مايو 1954 (35 سنة)   الدائرة الرابعة في باريس&...

 

 

وولفغانغ فاهريان (بالألمانية: Wolfgang Fahrian)‏  معلومات شخصية الميلاد 31 مايو 1941 [1]  بلاوشتاين  [لغات أخرى]‏  تاريخ الوفاة 13 أبريل 2022 (80 سنة) [2][3]  سبب الوفاة ذات الرئة[4]  مركز اللعب حارس مرمى الجنسية ألمانيا  مسيرة الشباب سنوات فريق TuS Klingenstein �...

 

 

Coppa della Repubblica 1935Copa de la República 1935 Competizione Copa del Rey Sport Calcio Edizione 35ª Organizzatore RFEF Date 10 marzo 1935 - 30 giugno 1935 Luogo  Spagna Partecipanti 50 (16 al tabellone principale) Risultati Vincitore  Siviglia(1º titolo) Secondo  Sabadell Cronologia della competizione 1934 1936 Manuale La Copa de la República 1935 fu la 35ª edizione della Coppa di Spagna. Il torneo iniziò il 10 marzo e si concluse il 30 giugno 1935. A partitre dal 1...

Third Division 1980-1981 Competizione Third Division Sport Calcio Edizione 54ª Organizzatore Football League Date dal 16 agosto 1980all'8 maggio 1981 Luogo  Inghilterra Galles Partecipanti 24 Formula girone all'italiana A/R Risultati Vincitore Rotherham United(2º titolo) Altre promozioni BarnsleyCharlton Athletic Retrocessioni BlackpoolColchester UnitedHull CitySheffield United Statistiche Miglior marcatore Tony Kellow (25) Incontri disputati 552 Gol segnati 1 ...

 

 

Questa voce sull'argomento calciatori olandesi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Brandley KuwasNazionalità Paesi Bassi Curaçao Altezza178 cm Peso70 kg Calcio RuoloAttaccante Squadra svincolato CarrieraGiovanili  Hellas Sport AZ Alkmaar Kooger Squadre di club1 2012-2015 Volendam103 (15)[1]2015-2016 Excelsior34 (4)2016-2019 Heracles Almelo92...

 

 

トモダチゲーム ジャンル 少年漫画、サスペンス 漫画 原作・原案など 山口ミコト 作画 佐藤友生 出版社 講談社 掲載誌 別冊少年マガジン レーベル 講談社コミックス 発表号 2014年1月号[1] - 2024年9月号 発表期間 2013年12月9日[2] - 2024年8月8日[3] 巻数 既刊25巻(2024年5月9日現在) 話数 全127話 ドラマ 原作 山口ミコト、佐藤友生 監督 永江二朗 脚本 永江二�...

Rete tranviaria di VareseServizio di trasporto pubblicopiazza Porcari, poi Monte GrappaTiporete tranviaria urbana e suburbana Stati Italia CittàVarese Apertura1895 Ultima estensione1916 Chiusura1950  GestoreSVIT (1940-1950) Vecchi gestoriSV (1895-1906)SPIE (1904-...)SVIE (1906-1940)  Scartamento1.100 mm Alimentazione500 V cc Trasporto pubblico Manuale La rete tranviaria di Varese era costituita da un insieme di linee urbane e suburbane che si svilupparono a partire dal 1895, s...

 

 

United States historic placeWatergateU.S. National Register of Historic Places Aerial view of the Watergate complex in 2006Location2650 Virginia Ave. NW, Washington, D.C., U.S.Coordinates38°53′56″N 77°03′15″W / 38.89889°N 77.05417°W / 38.89889; -77.05417AreaFoggy BottomBuilt1963–1971ArchitectLuigi Moretti, consulting architect;Milton Fischer, associate architect;Boris Timchenko, landscape architectArchitectural styleModern MonumentNRHP referenc...