URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104056
[ Назад ]

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

Отправлено opennews , 05-Авг-15 13:24 
Представлен (http://gregoryszorc.com/blog/2015/07/31/mercurial-3.5-released/) релиз распределённой системы управления версиями Mercurial 3.5. Код Mercurial написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си) и распространяется под лицензией GPLv2+.  Среди проектов, использующих Mercurial, можно выделить следующие: Mozilla, Python, Go, OpenOffice.org, OpenSolaris, NetBeans, OpenJDK, ALSA, Nginx, Xine, Dovecot, NTFS-3G и W3C.


Ключевым новшеством (https://mercurial.selenic.com/wiki/WhatsNew) является задействование протокола 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 интерфейсов (http://www.selenic.com/mercurial/wiki/index.cgi/GUIClients).


-  Лёгкость внедрения:


-  Поддержка платформ UNIX, MacOS X и Windows;

-  Средства (http://www.selenic.com/mercurial/wiki/index.cgi/RepositoryCo...), упрощающие миграцию с других систем управления исходными текстами;

-  Поддержка нескольких моделей организации репозитория: централизованная cvs-подобная, децентрализованная иерархическая и распределённая полуиерархическая;

-  Поддержка внешних обработчиков и дополнений.


URL: http://gregoryszorc.com/blog/2015/07/31/mercurial-3.5-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=42731


Содержание

Сообщения в этом обсуждении
"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 13:24 
Это что, мне чтобы скачать исходники, придётся ставить пистон? Офиигенная система, блин.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 13:33 
Мне почему-то кажется, что он у тебя и так стоит.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 19:01 
У таких не то что Python у таких и XYZ никогда не стоит :)))

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:35 
> У таких не то что Python у таких и XYZ никогда не стоит :)))

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:35 
> Мне почему-то кажется, что он у тебя и так стоит.

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 05:40 
>> Мне почему-то кажется, что он у тебя и так стоит.
> Совершенно не обязательно. К большому облому бидонистов, на 90% десктопов бидона вообще
> ни разу нет (у майкрософтика дотнетик же).

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 11-Авг-15 13:47 
Для майкрософтика бидон бандлится в Mercurial.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 13:52 
Чтобы скачать исходники ни pyton ни mercurial не нужно, совсем.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:02 
С такими вопросами, Вам эти исходники не нужны. Рано...

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:29 
> С такими вопросами, Вам эти исходники не нужны. Рано...

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 17:30 
И в школу его тоже отправлять рано... :)

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 11-Авг-15 12:22 
Может таки уже поздно? )

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Stax , 05-Авг-15 14:34 
Значительно лучше, чем гит, требующий перла. Который, в отличие от питона, тащить в современную систему особо причин нет.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено anonymous , 05-Авг-15 14:47 
>чем гит, требующий перла

Опционально

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

fixed


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Stax , 05-Авг-15 18:16 
Исключительно практическое наблюдение. Берем какую-нибудь федорку, ставим минимальную установку. Перлом даже не пахнет. Начинаем ставить разные полезные вещи, в какой момент в систему решит влезть перл с жирной пачкой пакетов? Из сколько-либо интересного - autotools, texinfo, vim-enhanced (хотя последний никто не мешает собрать без перла). Ну и git если угораздит поставить, тоже без перла никак.

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


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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 19:06 
> PS не относитесь к написанному серьезно. Но, когда в следующий раз вам

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:36 
> - MSTFS, полное овно и за конские бабки :)

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено anonymous , 06-Авг-15 14:42 
>Берем какую-нибудь федорку, ставим минимальную установку. Перлом даже не пахнет.

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

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

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

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

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено h31 , 05-Авг-15 14:37 
А гит требует перл, и чо (с)?

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 15:32 
Не требует. Только компилятор ANSI C и stdlib

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено cc75 , 05-Авг-15 22:53 
> Не требует. Только компилятор ANSI C и stdlib

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:37 
> чтобы иметь только pull и push? спасибо

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 22:51 
> все облеплено тормозным питном с его чудесами по части версий и хреновой скоростью работы

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 11-Авг-15 12:26 
>> все облеплено тормозным питном с его чудесами по части версий и хреновой скоростью работы
> Перепись людей, отличающих 1 миллисекунду от трёх в полном разгаре.

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено all_glory_to_the_hypnotoad , 06-Авг-15 00:00 
> чтобы иметь только pull и push? спасибо

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 00:21 
Чтобы все кроме gitweb иметь.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:49 
> Это что, мне чтобы скачать исходники, придётся ставить пистон? Офиигенная система, блин.

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



"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 19:25 
>  Да еще небось это ненужно и на флопарь не влезает!

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:00 
Это что, мне чтобы скачать исходники, придётся ставить glibc? Офиигенная система, блин.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено kravich , 05-Авг-15 14:19 
msvcrt.dll хватит всем

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:28 
Для ОС написанной на Си вместе со всеми ее утилитами, это нормально и правильно. Ставить аж целый гвидобейсик ради того чтоб скачать репу и посмотреть коммиты - жЫрно.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 14:45 
> целый гвидобейсик

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


"Выпуск распределённой системы управления версиями..."
Отправлено arisu , 05-Авг-15 16:40 
согласен: не буду больше бейсик обижать…

"Выпуск распределённой системы управления версиями..."
Отправлено правдоруб , 06-Авг-15 15:27 
Интересно, к какому из этих языков у Вирта более матерное отношение?

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:39 
> Ну да, кто же еще может поставить питон на один уровень с бейсиком?

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 00:17 
>Ну так программисты на питоне похожи на программистов на бэйсике. Одних ставили в стойло обучая при помощи пинков нумеровать строки, в то время как нормальные програмеры такой хренью не занимались. Других при помощи точно таких же пинков учат форматировать код. Сразу видно на кого ЯП ориентирован.

ШКОЛОТА!

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 10:58 
>Если ты не форматируешь код - то ты не программист, хотя кому я говорю.

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено правдоруб , 06-Авг-15 15:30 
А ещё можно всё сломать из-за ненужного символа tab (не путать с кнопкой tab, от неё есть хоть какая-то польза).

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 22:53 
> А ещё можно всё сломать из-за ненужного символа tab (не путать с
> кнопкой tab, от неё есть хоть какая-то польза).

А ещё можно случайно файл удалить в консоли! Давайте в rm сделаем интерактивный режим неотключаемым!


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено 00 , 09-Авг-15 18:59 
Чё. Напиши уже свою первую программу

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Мяут , 05-Авг-15 15:49 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....

Гы-гы


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:41 
> Гы-гы

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 00:32 
> Ну валяется какой-то скрипт вспомогательный. И чего? Там полсотни утилсов на всем
> чем можно валяется.

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

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

Да ну?
> 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

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено iZEN , 05-Авг-15 15:47 
Ну и отличненько.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 16:33 
> написан на языке Python (требующие высокой производительности части оформлены в виде модулей на Си)

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 17:40 
Не путай Mercurial и TortoiseHg

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 18:40 
> Этот костыль уже традиция. В место того, чтобы нормально освоить
> qml c js, они строят велосипед за зависимостью в 200 метров

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено cc75 , 05-Авг-15 22:50 
> чтобы нормально освоить c++

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

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

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


"Выпуск распределённой системы управления версиями..."
Отправлено arisu , 05-Авг-15 22:56 
> Исркенне Ваш, счастливый пользователь

…windows 10


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:43 
>> чтобы нормально освоить c++
> смотрим на monotone и где он сейчас. до-DRY-ились посоны

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено хрюкотающий зелюк , 05-Авг-15 21:13 
Ура! Я постоянный юзер Hg!

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 05-Авг-15 23:44 
> Ура! Я постоянный юзер Hg!

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено all_glory_to_the_hypnotoad , 05-Авг-15 23:52 
> постоянный юзер Hg

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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено АнонимХ , 06-Авг-15 12:21 
Очень инопланетянские принципы организации веток, обязательство всегда иметь ветку с именем default и включение имени ветки в ченжсет коммита (т.е. под контрольную сумму) делают меркуриал непригодным к использованию.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено burjui , 06-Авг-15 19:53 
Mercurial ещё и любит гадить прямо в проект файлами .rej и .orig при merge с конфликтами. Я после одного такого раза не выдержал больше мучений с Mercurial (основные - это ветки, кразумеется) и слинял на git-remote-hg.

"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 06-Авг-15 13:07 
> обязательство всегда иметь ветку с именем 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


"Выпуск распределённой системы управления версиями Mercurial ..."
Отправлено Аноним , 11-Авг-15 22:34 
> Среди проектов, использующих 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."