The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск распределённой системы управления версиями Mercurial 3.5

05.08.2015 13:22

Представлен релиз распределённой системы управления версиями Mercurial 3.5. Код Mercurial написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си) и распространяется под лицензией GPLv2+. Среди проектов, использующих Mercurial, можно выделить следующие: Mozilla, Python, Go, OpenOffice.org, OpenSolaris, NetBeans, OpenJDK, ALSA, Nginx, Xine, Dovecot, NTFS-3G и W3C.

Ключевым новшеством является задействование протокола bundle2 по умолчанию на стороне клиента (ранее был включен только для серверов, после обновления клиентов для версии 3.5 они смогут работать с hg.mozilla.org по новому протоколу). По сравнению с классическим протоколом, в bundle2 сокращено число этапов согласования соединения, что положительно сказалось на скорости выполнением операций push и pull, и дало возможность сделать данные операции атомарными. В протоколе bundle2 также реализованы средства для обмена дополнительными метаданными в рамках установленного канала связи, что открывает широкие возможности для развития новшеств, например, возможности автоматического перестроения (rebase) сервера при выполнении операции push.

Из других изменений отмечается прекращение поддержки Python 2.4 и 2.5 (ожидается скорое начало портирования на Python 3), добавление параметра конфигурации ui.allowemptycommit (управляет допустимостью пустых коммитов), в hgignore добавлена поддержка директив include и subinclude (для включения содержимого других файлов), а также реализация серии оптимизаций производительности. Продолжена работа над реализацией возможности разбиения единого файла-манифеста на серию локальных манифестов, привязанных к отдельным директориям.

Особенности Mercurial:

  • Быстродействие:
    • Высокая производительность работы с хранилищем, не зависящая от числа элементом в нём (O(1) revlog);
    • Компактное хранение данных в проиндексированном и сжатом виде;
    • Оптимизирован для эффективной работы с данными на жёстком диске;
    • Все изменения и файлы в репозитории дополнительно проиндексированы;
    • Для копирования данных по сети используется HTTP и SSH, данные передаются в сжатом виде.
  • Масштабирование
    • Распределённая модель разработки позволяет участвовать в проекте неограниченному числу разработчиков;
    • Допускается произвольное слияние отдельных децентрализованных репозиториев, поддерживаемых отдельными разработчиками;
    • Объём репозитория, число файлов и зафиксированных изменений не отражается отрицательно на производительности;
    • При работе нет необходимости ждать освобождения блокировки.
  • Надёжность.
    • Для контроля целостности данных в репозитории используется SHA1;
    • Хранилище реализовано в журнальном виде - данные не замещаются, а добавляются. Ведётся журнал транзакций;
    • Быстрый алгоритм проверки целостности репозитория;
    • Встроенные средства резервного копирования и проверки целостности;
  • Удобство использования.
    • Привычный CVS-подобный набор команд;
    • Наличие встроенной системы подсказки;
    • Интегрированный Web-интерфейс;
    • Большой выбор GUI-интерфейсов.
  • Лёгкость внедрения:
    • Поддержка платформ UNIX, MacOS X и Windows;
    • Средства, упрощающие миграцию с других систем управления исходными текстами;
    • Поддержка нескольких моделей организации репозитория: централизованная cvs-подобная, децентрализованная иерархическая и распределённая полуиерархическая;
    • Поддержка внешних обработчиков и дополнений.


  1. Главная ссылка к новости (http://gregoryszorc.com/blog/2...)
  2. OpenNews: Выпуск распределённой системы управления версиями Mercurial 3.4
  3. OpenNews: В Git и Mercurial устранена критическая уязвимость, проявляющаяся в Windows и OS X
  4. OpenNews: Выпуск распределённой системы управления версиями Mercurial 3.0
  5. OpenNews: Выпуск распределённой системы управления версиями Mercurial 2.9
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42731-mercurial
Ключевые слова: mercurial
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 13:24, 05/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Это что, мне чтобы скачать исходники, придётся ставить пистон? Офиигенная система, блин.
     
     
  • 2.2, Аноним (-), 13:33, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Мне почему-то кажется, что он у тебя и так стоит.
     
     
  • 3.23, Аноним (-), 19:01, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У таких не то что Python у таких и XYZ никогда не стоит :)))
     
     
  • 4.32, Аноним (-), 23:35, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У таких не то что Python у таких и XYZ никогда не стоит :)))

    А если стоит питон - это уже рельса. Стало быть - руби.

     
  • 3.31, Аноним (-), 23:35, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне почему-то кажется, что он у тебя и так стоит.

    Совершенно не обязательно. К большому облому бидонистов, на 90% десктопов бидона вообще ни разу нет (у майкрософтика дотнетик же).

     
     
  • 4.45, Аноним (-), 05:40, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Мне почему-то кажется, что он [b]у тебя и так стоит[/b].
    > [b]Совершенно не обязательно[/b]. К большому облому бидонистов, на 90% десктопов бидона вообще
    > ни разу нет (у майкрософтика дотнетик же).

    Никогда ещё Штирлиц не был так близок к провалу(с)

     
  • 4.59, Аноним (-), 13:47, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Для майкрософтика бидон бандлится в Mercurial.
     
  • 2.3, Аноним (-), 13:52, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Чтобы скачать исходники ни pyton ни mercurial не нужно, совсем.
     
  • 2.5, Аноним (-), 14:02, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +10 +/
    С такими вопросами, Вам эти исходники не нужны. Рано...
     
     
  • 3.8, Аноним (-), 14:29, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > С такими вопросами, Вам эти исходники не нужны. Рано...

    Странно.. гитом то у меня нормально тянутся/пушатся коммиты.

     
  • 3.19, Аноним (-), 17:30, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И в школу его тоже отправлять рано... :)
     
     
  • 4.57, Аноним (-), 12:22, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Может таки уже поздно? )
     
  • 2.9, Stax (ok), 14:34, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Значительно лучше, чем гит, требующий перла. Который, в отличие от питона, тащить в современную систему особо причин нет.
     
     
  • 3.12, anonymous (??), 14:47, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >чем гит, требующий перла

    Опционально

    >Который, в отличие от питона, тащить в систему для школоты особо причин нет.

    fixed

     
     
  • 4.21, Stax (ok), 18:16, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Исключительно практическое наблюдение. Берем какую-нибудь федорку, ставим минимальную установку. Перлом даже не пахнет. Начинаем ставить разные полезные вещи, в какой момент в систему решит влезть перл с жирной пачкой пакетов? Из сколько-либо интересного - autotools, texinfo, vim-enhanced (хотя последний никто не мешает собрать без перла). Ну и git если угораздит поставить, тоже без перла никак.

    А теперь попробуйте сделать минимальную установку (можете потом руками попробовать почистить) без питона. Начиная от базовых системных утилит типа yum/gettext/nfs-utils/authconfig/sesystem-config-* и заканчивая любыми компонентами Gnome, кучей софта типа gimp, bind и прочее - без питона система не живет. Поэтому у hg нет никаких лишних зависимостей и никаких монстров в систему он не тянет. Этим и замечателен!


    PS не относитесь к написанному серьезно. Но, когда в следующий раз вам придется объяснять виндоюзеру, почему он, поставив git не может использовать половину функциональности, не вкатывая в систему перл - возможно, пожалеете, что не стали сразу использовать mercurial...

     
     
  • 5.25, Аноним (-), 19:06, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > PS не относитесь к написанному серьезно. Но, когда в следующий раз вам

    придется объяснять виндоюзеру,
    Ему надо объяснить что это софт для пассажиров первого класса. Для них - MSTFS, полное овно и за конские бабки :)

     
     
  • 6.33, Аноним (-), 23:36, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > - MSTFS, полное овно и за конские бабки :)

    Угар в том что MS нынче таки запилил гит в MSVS...

     
  • 5.49, anonymous (??), 14:42, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Берем какую-нибудь федорку, ставим минимальную установку. Перлом даже не пахнет.

    Федоркопроблемы

    >Начинаем ставить разные полезные вещи

    Например, perl является полезной вещью, так как позволяет решать задачи эффективнее, чем bash + awk + sed

    >Ну и git если угораздит поставить, тоже без перла никак.

    Федоркопроблемы, perl не является обязательной зависимостью для git.

     
  • 2.10, h31 (ok), 14:37, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А гит требует перл, и чо (с)?
     
     
  • 3.14, Аноним (-), 15:32, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не требует. Только компилятор ANSI C и stdlib
     
     
  • 4.29, cc75 (ok), 22:53, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не требует. Только компилятор ANSI C и stdlib

    чтобы иметь только pull и push? спасибо

     
     
  • 5.34, Аноним (-), 23:37, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > чтобы иметь только pull и push? спасибо

    За отмазку не катит. По минмуму работает. В отличие от этой бидонятины, где все наоборот - модули на си один фиг пришлось писать, но все облеплено тормозным питном с его чудесами по части версий и хреновой скоростью работы.

     
     
  • 6.53, Аноним (-), 22:51, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > все облеплено тормозным питном с его чудесами по части версий и хреновой скоростью работы

    Перепись людей, отличающих 1 миллисекунду от трёх в полном разгаре.

     
     
  • 7.58, Аноним (-), 12:26, 11/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> все облеплено тормозным питном с его чудесами по части версий и хреновой скоростью работы
    > Перепись людей, отличающих 1 миллисекунду от трёх в полном разгаре.

    Твой сарказм неуместен, т.к. ты не знаешь ни условия задачи, ни области применения напиуемого софта, к тому же миллисекунды быстро превращаются в минуты, Карл

     
  • 5.40, all_glory_to_the_hypnotoad (ok), 00:00, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > чтобы иметь только pull и push? спасибо

    Весь git уже давно написан на С. Питон и перл в основном используется в костылях типа hg-to-git и svn-to-git

     
  • 5.42, Аноним (-), 00:21, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы все кроме gitweb иметь.
     
  • 2.13, Аноним (-), 14:49, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Это что, мне чтобы скачать исходники, придётся ставить пистон? Офиигенная система, блин.

    Да еще небось это ненужно и на флопарь (не говоря уже о перфокарте) не влезает!


     
     
  • 3.26, Аноним (-), 19:25, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >  Да еще небось это ненужно и на флопарь не влезает!

    Кстати да, я помниццо понял что времена изменились когда осознал что ни одна фотка с моего телефона на флопарь больше не лезет :)

     

  • 1.4, Аноним (-), 14:00, 05/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Это что, мне чтобы скачать исходники, придётся ставить glibc? Офиигенная система, блин.
     
     
  • 2.6, kravich (ok), 14:19, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    msvcrt.dll хватит всем
     
  • 2.7, Аноним (-), 14:28, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для ОС написанной на Си вместе со всеми ее утилитами, это нормально и правильно. Ставить аж целый гвидобейсик ради того чтоб скачать репу и посмотреть коммиты - жЫрно.
     
     
  • 3.11, Аноним (-), 14:45, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > целый гвидобейсик

    Чувствуется попaболь неoсилятора :)
    Ну да, кто же еще может поставить питон на один уровень с бейсиком?

     
     
  • 4.18, arisu (ok), 16:40, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    согласен: не буду больше бейсик обижать…
     
     
  • 5.50, правдоруб (?), 15:27, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Интересно, к какому из этих языков у Вирта более матерное отношение?
     
  • 4.35, Аноним (-), 23:39, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну да, кто же еще может поставить питон на один уровень с бейсиком?

    Ну так программисты на питоне похожи на программистов на бэйсике. Одних ставили в стойло обучая при помощи пинков нумеровать строки, в то время как нормальные програмеры такой хренью не занимались. Других при помощи точно таких же пинков учат форматировать код. Сразу видно на кого ЯП ориентирован.

     
     
  • 5.41, Аноним (-), 00:17, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ШКОЛОТА Для большинства поколения программистов от 35 и выше basic был первым я... большой текст свёрнут, показать
     
     
  • 6.46, Аноним (-), 10:58, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Если ты не форматируешь код - то ты не программист, хотя кому я говорю.

    Но это не задача языка. Для этого есть IDE и прочие Vim/Emacs. Алсо, да, возможность сломать логику программы, случайно нажав backspace, весьма доставляет.

     
     
  • 7.51, правдоруб (?), 15:30, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ещё можно всё сломать из-за ненужного символа tab (не путать с кнопкой tab, от неё есть хоть какая-то польза).
     
     
  • 8.54, Аноним (-), 22:53, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё можно случайно файл удалить в консоли Давайте в rm сделаем интерактивный ... текст свёрнут, показать
     
  • 7.56, 00 (?), 18:59, 09/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Чё. Напиши уже свою первую программу
     
  • 3.16, Мяут (ok), 15:49, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/scripts/c

    Гы-гы

     
     
  • 4.36, Аноним (-), 23:41, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Гы-гы

    Ну валяется какой-то скрипт вспомогательный. И чего? Там полсотни утилсов на всем чем можно валяется. Только они даром не упали для сборки ядра, для его конфигурации и вообще.

     
     
  • 5.43, Аноним (-), 00:32, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну валяется какой-то скрипт вспомогательный. И чего? Там полсотни утилсов на всем
    > чем можно валяется.

    А почему не на Си? Надеюсь, Вы над этим уже работаете?

    > Только они даром не упали для сборки ядра,
    > для его конфигурации и вообще.

    Да ну?
    > checkkconfigsymbols.sh: reimplementation in python
    > The scripts/checkkconfigsymbols.sh script searches Kconfig features
    > in the source code that are not defined in Kconfig. Such identifiers
    > always evaluate to false and are the source of various kinds of bugs.
    > However, the shell script is slow and it does not detect such broken

    А, ну да, очередной любитель желудей :)

     

  • 1.15, iZEN (ok), 15:47, 05/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ну и отличненько.
     
  • 1.17, Аноним (-), 16:33, 05/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си)

    Этот костыль уже традиция. В место того, чтобы нормально освоить c++ с qml, они строят велосипед за зависимостью в 200 метров, и всё только из личных принципов.

     
     
  • 2.20, Аноним (-), 17:40, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не путай Mercurial и TortoiseHg
     
  • 2.22, Аноним (-), 18:40, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Этот костыль уже традиция. В место того, чтобы нормально освоить
    > qml c js, они строят велосипед за зависимостью в 200 метров

    fixed.
    Вообще-то, зависимостьи в 200 метров -- это как раз для кутей маловато будет, так что перевести стрелки не удалось. Пистоны по прожорливости и жирноте рядом с кумулями и рядом не стояли https://packages.debian.org/wheezy/amd64/python2.7-minimal/download ;)

     
  • 2.28, cc75 (ok), 22:50, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > чтобы нормально освоить c++

    смотрим на monotone и где он сейчас. до-DRY-ились посоны

    > и всё только из личных принципов

    портабельность продукта - очень хороший личный принцип. Исркенне Ваш, счастливый пользователь thg

     
     
  • 3.30, arisu (ok), 22:56, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Исркенне Ваш, счастливый пользователь

    …windows 10

     
  • 3.37, Аноним (-), 23:43, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> чтобы нормально освоить c++
    > смотрим на monotone и где он сейчас. до-DRY-ились посоны

    Ну да, перцы из гита их таки обошли на повороте. Вобще на си в основном. Обидно наверное, что тут скажешь - оказывается, мегафичи того или иного языка вовсе и не гарантируют что программа получится хорошей. А вот хреновый выбор языка, как в сабже, может создать массу дурных проблем.

     

  • 1.27, хрюкотающий зелюк (?), 21:13, 05/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ура! Я постоянный юзер Hg!
     
     
  • 2.38, Аноним (-), 23:44, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Ура! Я постоянный юзер Hg!

    Регистрация участников Специальной олимпиады начата!

     
  • 2.39, all_glory_to_the_hypnotoad (ok), 23:52, 05/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > постоянный юзер Hg

    звучит как диагноз

     

  • 1.47, АнонимХ (??), 12:21, 06/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Очень инопланетянские принципы организации веток, обязательство всегда иметь ветку с именем default и включение имени ветки в ченжсет коммита (т.е. под контрольную сумму) делают меркуриал непригодным к использованию.
     
     
  • 2.52, burjui (ok), 19:53, 06/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Mercurial ещё и любит гадить прямо в проект файлами .rej и .orig при merge с конфликтами. Я после одного такого раза не выдержал больше мучений с Mercurial (основные - это ветки, кразумеется) и слинял на git-remote-hg.
     

  • 1.48, Аноним (-), 13:07, 06/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > обязательство всегда иметь ветку с именем default

    ловите безмозглого гуманитария:
    >> If no branch name was set, Mercurial assigns the branch name "default". So the name of the default branch in a repository is "default" (which, for example, is not displayed when doing a hg log).
    > Очень инопланетянские принципы организации веток

    Опять гуманитарии подтянулись со своими stash/rebase

     
  • 1.60, Аноним (-), 22:34, 11/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Среди проектов, использующих Mercurial, можно выделить следующие: ..., OpenSolaris, ...

    Что за OpenSolaris такой?
    Если это про illumos,
    то на странице http://wiki.illumos.org/display/illumos/Mercurial+Workflow читаем -
    "Please Note: Though this workflow is still valid, the canonical illumos-gate repository is now using git rather than Mercurial, and is hosted as "illumos/illumos-gate" on github."

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру