The OpenNET Project / Index page

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

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

06.05.2014 21:36

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

Выпуск 3.0 не сигнализирует о появлении кардинальных изменений или новшеств, он лишь является следствием смены первой цифры в рамках используемой проектом десятичной схемы нумерации, в соответствии с которой после 2.9 следует версия 3.0, а не 2.10. Из новшеств можно отметить:

  • Новая команда "hg config", которая выводит имена и значения всех переменных конфигурации, а при указании опции "--edit" позволяет изменять их значения. Опция "--local" указывает на конфигурацию репозитория, а "--global" на системную конфигурацию.
  • Запоминание статуса HTTP-аутентификации. Раньше, параметры аутентификации передавались только после получения кода ошибки 401 (т.е. запросы дублировались 401/200, 401/200, 401/200...), сейчас параметры отправляются сразу для элементов путей в которых до этого был зафиксирован запрос аутентификации (401/200, 200, 200...).
  • Вывод осмысленного теста ошибки при попытке выполнения "hg push" для только что созданного репозитория.

Достоинства Mercurial:

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


  1. Главная ссылка к новости (http://mercurial.selenic.com/w...)
  2. OpenNews: Выпуск распределённой системы управления версиями Mercurial 2.9
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39713-mercurial
Ключевые слова: mercurial
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:01, 06/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Идиотская схема версионирования.

    А так, https://www.ohloh.net/repositories/compare

     
     
  • 2.2, Аноним (-), 23:06, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Что в ней идиотского?
     
     
  • 3.4, Аноним (-), 23:20, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно эта схема дает возможность идиотам демонстрировать свой идиотизм.
    Как, впрочем, и любая другая.
     
  • 3.6, Аноним (-), 23:25, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Во-первых, версия не несёт никакой информации - точка ничего не разделяет, её можно выкинуть, итого имеется просто номер как у хрома. Когда могло бы быть настоязее major/minor/patch где каждое число имеет смысл.
    Во-вторых, эта версия не несущая никакой информации маскируется под версию несущую информацию той самой ничего не разделающей точкой.
    Итого - такая же кривизна как вся VCS.
     
     
  • 4.7, бедный буратино (ok), 23:28, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Какой тяжёлый случай. По выходным этот аноним, наверное, по капле дождя на окне делает глубокомысленные выводы о судьбах мира.
     
     
  • 5.13, Led (ok), 00:35, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –6 +/
    проспись, полено
     
     
  • 6.14, бедный буратино (ok), 00:42, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Подобная схема, кстати, использовалась и используется openbsd, когда вы с анонимом ещё не родились. Но речь, разумеется, не об этом, а об сопливом пафосе вас с анонимом.
     
  • 5.60, Аноним (-), 03:03, 09/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Возражения по сути есть, или как всегда - ничего не понял, и тявкнуть надо?
     
     
  • 6.62, бедный буратино (ok), 04:02, 09/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Возражения по сути есть, или как всегда - ничего не понял, и тявкнуть надо?

    А что тут по сути скажешь. Какой-то аноним решил, что ему номер версии чем-то сильно обязан, причём обязан он соответствовать Единственно Правильному Идиотскому видению Анонима, хотя система началась ещё тогда, когда не было быть модно Дебилом По Номерам Версий. При этом, на основании самовыдуманных критериев сделал далеко идущие выводы. Диагноз понятен - типичный опеннетовец.


     
  • 4.19, arisu (ok), 07:36, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а с чего ты решил, что твоё понимание нумерации версий — самое верное на планете?

    пойди, кстати, линусу эту претензию выскажи: он вообще безо всякой системы перешёл на 3.0. просто вот захотел — и оп! в отличие от вполне логичной системы нумерации hg.

     
     
  • 5.24, Andrey Mitrofanov (?), 10:32, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > на 3.0. просто вот захотел — и оп! в отличие от
    > вполне логичной системы нумерации hg.

    Расскажи нам, какая версия "вполне логично" последует за 9.9 ?

     
     
  • 6.26, бедный буратино (ok), 11:13, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    10.0

    спешили фор ю, если ты вдруг засомневаешься, вот тебе генератор для проверки:

    def newver():
        a = 0.0
        while True:
            a += 0.1
            yield  a

     
     
  • 7.30, Andrey Mitrofanov (?), 15:10, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > 10.0

    Тогда либо точек ало, либо точка лишняя! Где Логика?!

     
     
  • 8.31, бедный буратино (ok), 15:17, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    логика - в генераторе он написан выше 9 9 0 1 10 0 если точка мешает, може... текст свёрнут, показать
     
  • 6.32, arisu (ok), 15:20, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Расскажи нам, какая версия "вполне логично" последует за 9.9 ?

    ну да, 10. в чём проблема-то?

     
  • 5.25, burjui (ok), 11:11, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    И что в ней логичного? Просто последовательность номеров версий, которая ничего не означает, уже писали выше. Что до Linux, проект развивается таким образом, что никогда не происходит крупных или, тем более, гигантских изменений, достойных повышения мажорной версии. Повысили просто для удобства, чтобы не было версий 2.6.[40,∞), Mercurial же так делает постоянно. Это логично, по-вашему?
     
     
  • 6.33, arisu (ok), 15:21, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    угу-угу. «когда ядро произвольно меняет версию — это логично и удобно. а когда hg по вполне понятному алгоритму меняет версию — это нелогично, неудобно и вообще КАКОНИПОСМЕЛИ!!11111»
     
  • 6.35, arisu (ok), 15:24, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    p.s. да, кстати, для непонятливых гениев: последовательность номеров версий означает ровно одно: версия с большим номером выпущена позже, нежели версия с меньшим номером. все остальные ваши идеи по поводу того, что — якобы — «должны обозначать номера версий», являются вашими личными фантазиями. как я уже показал, даже такой немаленький и серьёзный проект, как linux, к номерам версий относится достаточно пофигистично. «всё, 2 надоело, теперь у нас 3 будет.»
     
     
  • 7.37, хмм (?), 15:55, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Отсортируй же
    2.60.3
    240
    27
    3.1
    3.0.0
    2.41
     
     
  • 8.47, rob pike (?), 20:50, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http search cpan org edavis Sort-Versions ... текст свёрнут, показать
     

  • 1.3, rob pike (?), 23:17, 06/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    По давней традиции, здесь будет обсуждаться git.
     
     
  • 2.5, Аноним (-), 23:25, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Под "обсуждением" понимается многократное повторение:
    ${знакомое название} - супер! ${незнакомое_название} - для #$%ов!
    За 5$ я вам напишу генератор таких обсуждений на год вперед.
    Под GPL2/MIT на ваш выбор.

     
     
  • 3.8, бедный буратино (ok), 23:29, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Под "обсуждением" понимается многократное повторение:
    > ${знакомое название} - супер! ${незнакомое_название} - для #$%ов!
    > За 5$ я вам напишу генератор таких обсуждений на год вперед.
    > Под GPL2/MIT на ваш выбор.

    а распространяться будет в git или в hg? это важно! (в тарболах не предлагать)

     
     
  • 4.10, Аноним (-), 23:51, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы путаете "систему управления версиями" и "метод распространения".
     
     
  • 5.11, бедный буратино (ok), 23:54, 06/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    в наши годы это может быть одно и то же :)
     
  • 5.16, Аноним (-), 02:07, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Да что вы говорите, бздуны тоже путают svn с системой контроля версий.
     
  • 3.23, Аноним (-), 10:25, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    За 5$ давай, кидай линк на реализацию, я тебе даже 10 заплачу
     
     
  • 4.28, бедный буратино (ok), 11:50, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    # -*- coding: utf-8 -*-

    import random

    def phr():
        return random.choice([
            u'%s не нужен',
            u'В %s это было ещё год назад',
            u'%s написан непонятно на чём!',
            u'От %s тупеют! И ты тому доказательство.',
            u'%s? Ты бы ещё RCS предложил!',
            u'%s? Это у которого ветки кривые?',
            u'Это же до чего надо докатиться, чтобы использовать %s',
            u'И сам ты дурак, и твой %s туда же.',
            u'Не было у бабки забот, так поставила %s',
            u'%s? Да ты отстал от жизни! Мир развивается, один ты сидишь и ничего не видишь.'
        ]) % random.choice(['git','hg'])

    print phr()

     
     
  • 5.41, rob pike (?), 17:44, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Нет уж, давайте хоть с марковскими цепями.
     
     
  • 6.43, бедный буратино (ok), 18:40, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нет уж, давайте хоть с марковскими цепями.

    Ничё не знаю, пять баксов гони. Сходство - поразительное.

     
     
  • 7.46, rob pike (?), 20:48, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу в вашем коде анализа сходства.
     
  • 7.57, Аноним (-), 17:22, 08/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это вообще хрень, за такое можешь пойми у ms $5 попросить
     
     
  • 8.59, бедный буратино (ok), 17:53, 08/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да и пофиг зато суть отображает ... текст свёрнут, показать
     

  • 1.9, хрюкотающий зелюк (?), 23:42, 06/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а я думал пофиксили имена файлов, сделали их UTF-8-only...
     
  • 1.12, anonymous (??), 00:32, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Привычный CVS-подобный набор команд;

    А что, многие сейчас помнят CVS'овские команды?

     
     
  • 2.15, бедный буратино (ok), 00:42, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Привычный CVS-подобный набор команд;
    > А что, многие сейчас помнят CVS'овские команды?

    Ни дня без cvs -q up -Pd :) Хотя я их в .cvsrc прописал :)

     
     
  • 3.18, anonymous (??), 07:34, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ни дня без cvs -q up -Pd :) Хотя я их в .cvsrc прописал :)

    Настоящим джедаям и hg не помеха ;)

     
  • 3.27, burjui (ok), 11:15, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ни дня без cvs -q up -Pd :)

    Ваш ник всё объясняет.

     

  • 1.17, max (??), 02:16, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    нормальная система, работает - и ок. мот какой-то мега-плюшки нету, но работает и радует. хорошая новость
     
  • 1.29, Аннонн (?), 15:09, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >OpenSolaris

    Что-что? Прикрытый 5 лет назад ораклом проект в новости?

     
     
  • 2.34, бедный буратино (ok), 15:24, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что-что? Прикрытый 5 лет назад ораклом проект в новости?

    разработчиков забыли в репозитории, и поэтому они до сих пор пишут туда патчи...

     
  • 2.52, Аноним (-), 21:14, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что-что? Прикрытый 5 лет назад ораклом проект в новости?

    Это питонисты. Они не тормозят :).

     

  • 1.36, Kodir (ok), 15:46, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вопрос залу: хочу поставить Mercurial на виндовую машину, чтобы работать с ним по защищённому каналу. Ранее были танцы с бубном по прикручиванию этого хозяйства к IIS. Использовать последний не хочу и даже нарыл инфу, что Hg имеет встроенный сервер для тех же задач! Но потом в других тырнетах попадались отзывы, что встроенный сервер - гуано, неустойчивый и даже не поддерживает SSL. Экспериментировать на важных данных - не хочу, а на неважных может не проявиться баг.
    Вопрос: этот "внутренний сервер" кто-то собирается доводить до ума или опять надо прыгать вокруг сторонних продуктов?
     
     
  • 2.39, бедный буратино (ok), 16:10, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вопрос: этот "внутренний сервер" кто-то собирается доводить до ума или опять надо прыгать вокруг сторонних продуктов?

    нет, разумеется, ибо бред. у меня внутренний сервер, например, был в ngnix завёрнут, и там уже чё хошь, приделывай - хошь авторизацию, хошь ssl, хошь ищо чё-то. нахрена всё это ещё и в hg тащить?

    покрути тот же rhodecode, на предмет того, чё там есть.

     

  • 1.40, Аноним (-), 17:23, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >требующие высокой производительности части оформлены в виде модулей на Си

    Забавно это читать, учитывая что на комментарии про тормоза питона постоянно отвечают что это неправда и python ничуть не медленнее чем C.

     
     
  • 2.42, бедный буратино (ok), 18:40, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>требующие высокой производительности части оформлены в виде модулей на Си
    > Забавно это читать, учитывая что на комментарии про тормоза питона постоянно отвечают
    > что это неправда и python ничуть не медленнее чем C.

    Ну не хэши же считать - это чистая математика. Кстати, там есть и С-шный и нативный вариант, если не собирать сишные - будут нативные. Можешь сравнить разницу в скорости, если тебя так это волнует.

    Вообще, в python это часто используется для математики и подобных примитивных алгоритмов, которые на C реализовывать проще, а вероятность ошибок - ниже. А тот, кто пишет на python, просто использует это, и оно работает быстро... Поэтому python быстрый.

     
     
  • 3.44, Sprint (?), 19:39, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> Поэтому python быстрый.

    Спасибо, поржали. Пиши и жги ишчо!

     
  • 3.45, rob pike (?), 20:46, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень быстрый.

    > Test                        Julia        GSL Shell        Python
    > ------------------------------------------
    > fib                                0.429        0.120                3.641
    > parse_int                0.367        0.856                3.878
    > mandel                        0.911        0.171                5.727
    > quicksort                0.733        1.114                14.062
    > pi_sum                        38.59        38.60                764.24
    > rand_mat_stat        42.17        57.09                254.92
    > rand_mat_mul        175.45        178.70                200.25
    > printfd                        66.83        74.18        

    https://docs.google.com/presentation/d/1Gwx8rYEV1FqaqALUvnE0VHMhm87CW121cJ0YAo

     
  • 3.50, Аноним (-), 21:13, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Поэтому python быстрый.

    По сравнению с чем, полено? :)

     
     
  • 4.54, Led (ok), 00:45, 08/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Поэтому python быстрый.
    > По сравнению с чем, полено? :)

    По сравнению с поленом же

     
  • 2.48, Softfire (?), 20:58, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Правильно. Ничуть не медленне. И именно потому, что
    > требующие высокой производительности части оформлены в виде модулей на Си

    Большинство либ, требующих числодробления, пишут на сях.

    А если вы пытаетесь сравнивать нативный код питона (и именно рефренсной его реализации CPython) с аналогичным кодом на сях, то на фразу
    > комментарии про тормоза питона постоянно отвечают что это неправда и python ничуть не медленнее чем С

    неплохо бы и пруф привести. Лично я никогда не сталкивался с подобными заявлениями.

     

  • 1.49, Аноним (-), 21:12, 07/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Высокая производительность работы с хранилищем, не зависящая от числа
    > элементом в нём (O(1) revlog);

    O(1) - понятие растяжимое, но об этом питонисты узнают как-нибудь потом :). O(1) обещает что операции как правило заканчиваются за постоянное время. Но ничего не говорит о величине этого времени и хучших случаях. Завершение всех операций за 5 минут - это тоже O(1), внезапно :).

     
     
  • 2.51, arisu (ok), 21:14, 07/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    т-с-с-с. всем известно, что O(1) — это мегакруто.
     
     
  • 3.55, Аноним (-), 01:22, 08/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > т-с-с-с. всем известно, что O(1) — это мегакруто.

    "Но есть некоторые нюансы" (анекдот про Петьку и Василия Ивановича).

     

  • 1.53, Аноним (-), 00:12, 08/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мозилла, кстати, медленно, но верно переходит на git.
     
  • 1.56, Xasd (ok), 16:26, 08/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Выпуск 3.0 не сигнализирует о появлении кардинальных изменений или новшеств, он лишь является следствием смены первой цифры в рамках используемой проектом десятичной схемы нумерации, в соответствии с которой после 2.9 следует версия 3.0, а не 2.10.

    что за фигня. кто придумал этот бред с десятичной схемой..?

    а если в "Firefox-29" вставить точку между "2" и "9" --- типа "Firefox-2.9" --- то кому от этого станет легче?

     
     
  • 2.58, бедный буратино (ok), 17:53, 08/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это поколение такое. Которое думает, что прикопавшись к версии, оно решает жизненно важную проблему. Подмена сознания, вызванная нервным истощением.
     
     
  • 3.61, Аноним (-), 03:05, 09/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что лично ты решил прикопавшись к поколению, болезный?
     
     
  • 4.63, бедный буратино (ok), 04:05, 09/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А что лично ты решил прикопавшись к поколению, болезный?

    Я констатирую. Если факт повторяется из раза в раз, то это факт.

    А спорить с подобными дебилами бесполезно. Если у нас, нормальных людей, смысл в нормальном существовании, то у подобных - смысл спора в споре. Позиции у них нет, поэтому свою точку зрения они могут крутить, как им угодно, и будут прикапываться ко всему, что видят. И это именно проблема поколения, культура потери ориентиров и замены их "сурргатами крутости". И то, что никакой крутости им от этого не прибавляется, что таких "самых умных" - каждый первый бесит их ещё больше, и они начинают закапываться во всё больше крайности.

    Что тут поделаешь. Или отойти в сторонку и наблюдать, или просто воспринимать, как неизбежное зло. Потому что этот пузырь нереализованных амбиций рано или поздно лопнет.

     

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



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

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