Jump to content

Меркуриальный

Меркуриальный
Разработчик(и) Оливия Макколл [а] (ушедший на пенсию), [1] Пьер-Ив Давид
Первоначальный выпуск 19 апреля 2005 г .; 19 лет назад ( 19 апреля 2005 г. ) [2]
Стабильная версия
6.4rc0 [3]  Отредактируйте это в Викиданных / 2 марта 2023 г.; 8 июля 2024 г.; 1 августа 2024 г.
Репозиторий
Написано в Python , C и Rust [4]
Операционная система Unix-подобный , Windows , macOS
Тип Контроль версий
Лицензия GPL-2.0 или новее
Веб-сайт www .mercurial-scm .org  Edit this on Wikidata

Mercurial — это распределенный инструмент контроля версий для разработчиков программного обеспечения . Он поддерживается в Microsoft Windows , Linux и других Unix-подобных системах, таких как FreeBSD и macOS .

Основные цели разработки Mercurial включают высокую производительность и масштабируемость, децентрализацию, полностью распределенную совместную разработку, надежную обработку как простых текстовых , так и двоичных файлов , а также расширенные возможности ветвления и слияния, оставаясь при этом концептуально простыми. [5] Он включает в себя интегрированный веб-интерфейс. Mercurial также предпринял шаги, чтобы облегчить переход для пользователей других систем контроля версий, в частности Subversion . Mercurial — это, прежде всего, программа, управляемая из командной строки , но графического пользовательского интерфейса доступны расширения , например TortoiseHg , а некоторые IDE предлагают поддержку контроля версий с помощью Mercurial. Все операции Mercurial вызываются как аргументы его программы-драйвера. hg (отсылка к Hg – химическому символу элемента ртути ).

Оливия Макколл [а] основал Mercurial и был его ведущим разработчиком до конца 2016 года. Mercurial выпускается как бесплатное программное обеспечение под лицензией GPL-2.0 или более поздней версии . [7] В основном он реализован с использованием языка программирования Python , но включает в себя реализацию двоичного сравнения, на C. написанную

Макколл впервые анонсировал Mercurial 19 апреля 2005 года. [2] Толчком к этому послужило объявление Bitmover ранее в том же месяце об отзыве бесплатной версии BitKeeper из-за разработки SourcePuller .

BitKeeper использовался для контроля версий требований проекта ядра Linux . Макколл решил написать распределенную систему контроля версий в качестве замены ядру Linux. ныне известный проект Git инициировал Этот проект стартовал через несколько дней после того, как Линус Торвальдс с аналогичными целями. [8]

В проекте ядра Linux было решено использовать Git , а не Mercurial, но сейчас Mercurial используется многими другими проектами (см. ниже ).

В ответе в списке рассылки Mercurial Оливия Макколл объяснила, как было выбрано название «Mercurial»:

Незадолго до первого выпуска я прочитал статью о продолжающемся фиаско Bitkeeper, в которой Ларри Маквоя описывался как непостоянный (в смысле «непостоянный»). Учитывая множество значений, удобное сокращение и хорошее соответствие с моей уже существующей схемой именования (см. мой адрес электронной почты), оно мгновенно мне понравилось. Таким образом, Mercurial назван в честь Ларри. Я не знаю, верно ли то же самое для Git. [9] [10]

такие громкие проекты, как OpenJDK, использовали Mercurial. В прошлом [11] хотя OpenJDK больше не работает с Java 16.

Mercurial использует хэши SHA-1 для идентификации версий. Для доступа к репозиторию через сеть Mercurial использует протокол на основе HTTP , который стремится сократить количество двусторонних запросов, новых подключений и передаваемых данных. Mercurial также может работать через SSH , протокол которого очень похож на протокол на основе HTTP. По умолчанию перед вызовом внешних инструментов слияния используется трехстороннее слияние .

Использование

[ редактировать ]

На рис. 1 показаны некоторые наиболее важные операции Mercurial и их связь с концепциями Mercurial.

Рисунок 1: Некоторые важные операции Mercurial и их связи.

Принятие

[ редактировать ]

Хотя Mercurial не был выбран для управления исходными кодами ядра Linux, он был принят несколькими организациями, включая Facebook , [12] W3C и Mozilla . Facebook использует язык программирования Rust для написания Mononoke. [13] [14] сервер Mercurial, специально разработанный для поддержки больших многопроектных репозиториев.

В 2013 году Facebook внедрил Mercurial и начал работу над его масштабированием для работы со своим большим унифицированным хранилищем кода. [15]

Google также использует клиент Mercurial в качестве внешнего интерфейса для своего облачного внутреннего хранилища монорепозитория Piper. [16]

Bitbucket объявила, что ее веб-службы контроля версий прекратят поддержку Mercurial в июне 2020 года (затем она будет продлена до июля 2020 года). [17] объясняя, что «его используют менее 1% новых проектов, а опросы разработчиков показали, что 90% разработчиков используют Git». [18]

Серверы Mercurial и управление репозиториями

[ редактировать ]

Хостинг исходного кода

[ редактировать ]

Следующие веб-сайты предоставляют бесплатный хостинг исходного кода для репозиториев Mercurial:

Проекты с открытым исходным кодом с использованием Mercurial

[ редактировать ]

Некоторые проекты, использующие распределенную RCS Mercurial: [25]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Jump up to: а б Оливия Макколл раньше была Мэттом Макколлом. [6]
  1. ^ «мпм — Меркуриальный» . Меркуриальный . Проверено 24 февраля 2023 г.
  2. ^ Jump up to: а б Макколл, Мэтт (20 апреля 2005 г.). «Mercurial v0.1 – минимальная масштабируемая распределенная SCM» . Ядро Linux (список рассылки).
  3. ^ «Набор изменений 50269:05de4896508e стабильная 6.4rc0» .
  4. ^ «Файл README в подкаталоге Rust, ветка master» . 24 января 2020 г. Проверено 30 января 2020 г.
  5. ^ Макколл, Мэтт. «На пути к лучшему SCM: Revlog и Mercurial» (PDF) . Меркуриальный . Архивировано (PDF) из оригинала 26 мая 2019 года . Проверено 26 мая 2019 г.
  6. ^ «Мэтт Макколл теперь Оливия Макколл» . Меркуриальный . Проверено 28 мая 2021 г.
  7. ^ «Перелицензирование» , Mercurial (вики), Mercurial-scm.org .
  8. ^ Макколл, Мэтт (29 апреля 2005 г.). «Re: Mercurial 0.4b против теста git patchbomb» . Ядро Linux (список рассылки). Архивировано из оригинала 9 июля 2012 года.
  9. ^ Макколл, Мэтт (15 февраля 2012 г.). «Почему Мэтт выбрал имя Меркуриал?» . Mercurial (список рассылки) . Проверено 7 июня 2016 г.
  10. Торвальдс сказал: «Я эгоистичный ублюдок, поэтому называю все свои проекты в честь себя. Сначала Linux, теперь git».
  11. ^ Джеймс Гослинг (октябрь 2006 г.). «Реализация платформы Java с открытым исходным кодом Sun, часть 1» (интервью). Беседовал Роберт Экстайн. Солнце. Архивировано из оригинала 1 марта 2009 года. {{cite interview}}: CS1 maint: неподходящий URL ( ссылка )
  12. ^ «Масштабирование Mercurial в Facebook» . 7 января 2014 г.
  13. ^ «Сервер управления версиями Mercurial, специально разработанный для поддержки больших монорепозиториев: facebookexperimental/mononoke» . 31 января 2019 г. – через GitHub.
  14. ^ Сзорц, Грегори (17 октября 2016 г.). «Заметки о спринте Mercurial 4.0» . mozilla.dev.контроль версий. Группы Google . Проверено 22 ноября 2021 г.
  15. ^ Гуд, Дарем; Агарвал, Сиддхарт (7 января 2014 г.). «Масштабирование Mercurial в Facebook» . Код Фейсбука . Проверено 13 октября 2015 г. - через Facebook.
  16. ^ «Почему Google хранит миллиарды строк кода в одном репозитории» .
  17. ^ «Закат поддержки Mercurial в Bitbucket» . 21 апреля 2020 г. Архивировано из оригинала 1 июля 2020 г.
  18. ^ Jump up to: а б Чан, Дениз (20 августа 2019 г.). «Закат поддержки Mercurial в Bitbucket» . Битбакет . Проверено 29 августа 2019 г.
  19. ^ «Хостинг Git, Mercurial и Subversion» . Функции . Штаб-квартира кодовой базы. 4 марта 2013 г. Архивировано из оригинала 30 марта 2014 г. . Проверено 4 марта 2013 г.
  20. ^ «Давайте начнем разработку OSS с Mercurial (Hg) – OSDN» . osdn.net .
  21. ^ «Хостинг», Mercurial (вики), Mercurial-scm.org .
  22. ^ «Попробуйте Helix TeamHub бесплатно | Perforce» . info.perforce.com .
  23. ^ «Добро пожаловать [Пуща]» . ps.gnu.org.ua.
  24. ^ «TuxFamily: Бесплатный хостинг для свободных людей» . tuxfamily.org .
  25. ^ «Некоторые проекты, использующие Mercurial» , Mercurial (вики), Mercurial-scm.org .
  26. ^ Рид, Дж. Пол (12 апреля 2007 г.). «Система контроля версий Shootout Redux Redux» .
  27. ^ mozilla-mobile/fenix , Mozilla Mobile, 19 марта 2021 г. , получено 19 марта 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cfd93b63e06cf1ae474e079c4fe02a2f__1722446820
URL1:https://arc.ask3.ru/arc/aa/cf/2f/cfd93b63e06cf1ae474e079c4fe02a2f.html
Заголовок, (Title) документа по адресу, URL1:
Mercurial - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)