LINUX.ORG.RU

Mercurial 3.0

 , ,


0

3

Mercurial — кроссплатформенная распределенная система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода, написанная на Python и C. Mercurial использую такие проекты как ALSA, Mozilla, Nginx, Python и Vim.

Неполный список изменений:

  • Новая команда «hg config», которая выводит имена и значения всех переменных конфигурации, а при указании опции "--edit" позволяет изменять их значения. Опция "--local" указывает на конфигурацию репозитория, а "--global" на системную конфигурацию.
  • Запоминание статуса HTTP-аутентификации. Раньше, параметры аутентификации передавались только после получения кода ошибки 401 (т.е. запросы дублировались 401/200, 401/200, 401/200...), сейчас параметры отправляются сразу для элементов путей в которых до этого был зафиксирован запрос аутентификации (401/200, 200, 200...).
  • Вывод осмысленного теста ошибки при попытке выполнения «hg push» для только что созданного репозитория.
  • Исправлено 17 ошибок.
  • Переход на новую систему версий, по которой после 2.9 будет идти не 2.10, а 3.0
  • Возможность запуска сервера без репозитория.
  • qimport: разрешено импортирование URL.
  • Сокращение ключей: можно писать -T как альтернативу --template.
  • Удалён interhg.

>>> Подробности

★★

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 4)

Новая команда «hg config»,

Вау, круто

которая выводит имена и значения всех переменных конфигурации, а при указании опции "--edit" позволяет изменять их значения.

Wait a minute...

Опция "--local" указывает на конфигурацию репозитория, а "--global" на системную конфигурацию.

... уже было в симсонахgit

KennyMinigun ★★★★★
()

Исправлено 17 ошибок.

Эпичненько так, че :)

pihter ★★★★★
()

А в нем тоже можно порпботать оффлайн, скажем в поезде, а потом отправить коммит на удаленный репозиторий?

pihter ★★★★★
()
Ответ на: комментарий от pihter

А в нем тоже можно порпботать оффлайн, скажем в поезде, а потом отправить коммит на удаленный репозиторий?

Это суть любых DVCS. Да, можно.

KRoN73 ★★★★★
()
Ответ на: комментарий от pihter

в гитбуке писали что так в любой DVCS можно делать... Это там называлось одной из ключевых особенностей DVCS

anonymous
()
Ответ на: комментарий от anonymoos

Они так и пишут в release notes, просто репостеры новостей почему-то это не копируют.

vurdalak ★★★★★
()

Возможность запуска сервера без репозитория.

И что этот сервер будет показывать?

vurdalak ★★★★★
()

Mozilla, Nginx, Python и Vim.

и переходить на гит вроде как и не собираются

kto_tama ★★★★★
()
Ответ на: комментарий от frost_ii

Разве можно создать репо извне? Я бы понял «запушить извне», но пушить-то некуда, если репозиторий не создан.

vurdalak ★★★★★
()
Ответ на: комментарий от ranka-lee

git буквальное красноглазое говно в котором можно разбиться до упора и ничего не делать.

А можно изучить две с половиной команды и делать все, что нужно.

andreyu ★★★★★
()
Ответ на: комментарий от ranka-lee

Ну-ну.

Есть что возразить? Пердеть можете у себя в местной луже. Здесь это не нужно.

andreyu ★★★★★
()
Ответ на: комментарий от pihter

нет! один мне так ext2 в openbsd сломал, до сих пор страдаю! только в спокойной обстановке, без суеты и спешки. в поезде сиди в окно смотри! в аэропорту - бутерброды жуй. оставь код в покое!

feofil
()
Ответ на: комментарий от andreyu

Так предупреждение там весит потому, что такую «документацию» (сгенерированную с помощью цепей Маркова) поразительно легко спутать с официальными манами гита. Такая вот гитодружелюбность.
Вот ещё улучшенный генератор, его текст уже практически неотличим от документации гита: http://git-man-page-generator.lokaltog.net/

quantum-troll ★★★★★
()
Последнее исправление: quantum-troll (всего исправлений: 1)

Хоть и перешёл давно на Git, всё же Mercurial вспоминаю не без удовольствия. Для небольших или индивидуальных проектов - самое оно (особенно если опыта с Git нет).

Всё-таки, чтобы не говорили некоторые адепты, Git - не для средних умов =)

anonymous
()
Ответ на: комментарий от anonymoos

Эволюционную историю запилили - всем мажорам мажор

po1s0n
()
Ответ на: комментарий от ranka-lee

в котором можно разбиться до упора и ничего не делать.

А нефиг разбираться, надо делать (и разбираться). А для начала надо знать только четыре команды:

  • git pull
  • git add
  • git commit
  • git push

... и понимание принципа DVCS (т.е. почему надо делать commit-push а не просто commit).

А потом, по мере работы придёт понимание таких удобных инструментов, как:

  • git branch
  • git stash
  • git cherry-pick, git merge, git rebase
  • git tag
  • .gitignore, .gitattributes
  • git log, git remote, git show
  • git init

... и полезных ключников к ним. А потом можно освоить и экзотику: git gc, git rerere, git fsck, ...

И вообще — в сети есть замечательные аниме товарные туториалы по гиту. Там освоить сможет даже школьник средних классов. (Лень искать ссылки сейчас, google://git+interactive+tutorial)

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от ranka-lee

Ключики и команды все абсолютно нелогичные и марсианске

Для адептов такого мнения придумали алиасы. При желании можно весь свой workflow забить двух-трехбуквенными командами с красивым цветным выводом и плюшками.

// для меня команды меркуриала «марсианские». Дело привычки, я полагаю

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 2)
Ответ на: комментарий от andreyu

Обоснуйте.

Расслабься, это наркоманы.

quest ★★★★
()
Ответ на: комментарий от kot_otbelivatel

https://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

По ссылке нытье. Не осилил. Чесно.

Ты бы сам свой git для начала освоил как следует

Вполне себе нормально освоил. Что не так?

прежде чем встревать.

нет, ты

KennyMinigun ★★★★★
()
Ответ на: комментарий от matumba

Он не говорил, что она непопулярна. Видите то, что хотите видеть?

AnDoR ★★★★★
()
Ответ на: комментарий от KennyMinigun

И вообще — в сети есть замечательные аниме товарные туториалы по гиту.

В mercurial достаточно сделать `hg help ‹что-то›` и получить удобочитаемую документацию. А его команды не перегружены лишними параметрами, и делают преимущественно одну вещь.
Использующему гиту же остаётся или google, google и ещё раз google, или использовать костыли вроде easy git.

quantum-troll ★★★★★
()
Ответ на: комментарий от KennyMinigun

А для начала надо знать только четыре команды.

Не-не-не. Ветки и слияние не менее важны, чем коммиты и их передача. Это же практически вся суть децентрализованных СУВ! И да, команда `add` в «принципы DVCS» не входит.

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Ветки и слияние не менее важны, чем коммиты и их передача.

Я ж не спорю. Но на первое время хватит, чисто попользоваться. Потом естественно понадобятся ветки а следом и управление ими.

И да, команда `add` в «принципы DVCS» не входит.

Это уже как посмотреть. Я просто не люблю новичкам советовать git commit -a или (даже) git commit -u.

BTW, у add есть классный интерактивный режим по -i.

KennyMinigun ★★★★★
()
Ответ на: комментарий от kot_otbelivatel

По ссылке нытье. Не осилил. Чесно.

Метанация засчитана. Следующий.

Ладно. Скажу так: в статье слишком много 4.2 и вообще слишком много условностей, на которых всё построено (аля «если у вас нет интернета, то пользоваться соц. сетями становится невозможно»).

К примеру:

9. Git history is a bunch of lies

... WTF? В основном тексте вообще записки типичного PHP-индуса.

Я не хочу и не буду писать ровно такую же по объёму статью, расставляющую всё по своим местам да еще и политкорректно. Ты итак накушался.

KennyMinigun ★★★★★
()
Ответ на: комментарий от KennyMinigun

9. Git history is a bunch of lies

Он про то, что пользователи гита слишком злоупотребляют rebase. Вероятно из-за отсутствия разделения между ветками и закладками (http://habrahabr.ru/post/123700/ про это).
Вообще, его критику можно свести к двум аргументам: «документация (интерфейс) гита — говно» (что есть чистая правда), и «не могли как в svn» сделать.

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Он про то, что пользователи гита слишком злоупотребляют rebase

В локальном репозитории ситуация «что хочу, то ворочу» (rebase на совести разработчика), а с remote ребейзы уже так просто не пройдут (ведь в цивилизованных странах за push -f и аналоги бьют по рукам, да?)

«документация (интерфейс) гита — говно»

Это да, там скорее просто шпаргалки. ИМХО в гите лучше добывать знания из туториалов (и Git Book в т.ч.).

KennyMinigun ★★★★★
()

Если для использования сабжа всё равно придётся долго и нудно пейсать шпаргалки, то чем оно лучше гита?

Napilnik ★★★★★
()
Ответ на: комментарий от KennyMinigun

ИМХО в гите лучше добывать знания из туториалов (и Git Book в т.ч.).

Git Book

...долго читать эту книгу, а потом качнуть мааленькую «Магия Git» и там найти нужную команду.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

долго и нудно пейсать шпаргалки

Но зачем? По `hg help` получаешь список команд с краткими описаниями, по `hg help ‹имя команды›` получаешь документацию. Благо, всё по-человечески сделано, а не как в гите.

quantum-troll ★★★★★
()
Ответ на: комментарий от feofil

в поезде сиди в окно смотри! в аэропорту - бутерброды жуй. оставь код в покое!

Сутки времени - псу под хвост. Хоть документацию пописать...

pihter ★★★★★
()
Ответ на: комментарий от anonymous

в гитбуке писали что так в любой DVCS можно делать... Это там называлось одной из ключевых особенностей DVCS

Если вы в самолёте или в поезде и хотите немного поработать, можно спокойно делать коммиты, а затем отправить их, как только станет доступна сеть. Если вы пришли домой, а VPN-клиент не работает, всё равно можно продолжать работать. Во многих других системах это невозможно или же крайне неудобно. Например, используя Perforce, вы мало что можете сделать без соединения с сервером. Работая с Subversion и CVS, вы можете редактировать файлы, но сохранить изменения в вашу базу данных нельзя (потому что она отключена от репозитория)

http://git-scm.com/book/ru/Введение-Основы-Git

pihter ★★★★★
()

Переход на новую систему версий, по которой после 2.9 будет идти не 2.10, а 3.0

а потом 29.0?

что-то не тянет список на новую старшую цифру.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.