Меркуриал

редактировать
Чтобы узнать о приключении в Shadowrun, см. Mercurial (Shadowrun).

Mercurial
Mercurial без рамки logo.svg
Разработчики) Оливия Макколл
Первый выпуск 19 апреля 2005 г. ; 16 лет назад ( 2005-04-19)
Стабильный выпуск 5.9.2  Отредактируйте это в Викиданных / 28 сентября 2021 г. ; 18 дней назад ( 28 сентября 2021 г.)
Репозиторий
Написано в Python, C и Rust
Операционная система Unix-подобный, Windows, macOS
Тип Контроль версий
Лицензия GPL-2.0 или новее
Веб-сайт www.mercurial-scm.org   Отредактируйте это в Викиданных

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

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

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

СОДЕРЖАНИЕ

  • 1 История
  • 2 Дизайн
  • 3 Использование
  • 4 Принятие
  • 5 Mercurial серверы и управление репозиториями
    • 5.1 Хостинг исходного кода
    • 5.2 Проекты с открытым исходным кодом, использующие Mercurial
  • 6 См. Также
  • 7 Примечания
  • 8 ссылки
  • 9 Внешние ссылки

История

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

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

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

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

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

В крупных проектах, таких как Java, то есть OpenJDK, используется Mercurial (но больше не используется в Java 16).

Дизайн

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

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

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

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

Принятие

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

В 2013 году Facebook принял Mercurial и начал работу над его масштабированием для обработки своего большого унифицированного репозитория кода.

Google также использует Mercurial в своем монорепозитории Piper.

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

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

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

См. Также: Сравнение возможностей размещения исходного кода.

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

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

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

Смотрите также

Примечания

использованная литература

внешние ссылки

Последняя правка сделана 2024-01-02 07:33:46
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте