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)
Ответ на: комментарий от pihter

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

конечно.

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

А в гитбуке писали что только в гите так можно,

так можно только в DVCS. Например в git и в mercurial.

emulek
()
Ответ на: комментарий от kamre

Проблему с распуханием репозитория при rename так и не решили?

нет такой проблемы.

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

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

$ hg help add
hg add [ПАРАМЕТР]... [ФАЙЛ]...

добавить указанный файл при следующей фиксации

    Планирует помещение файлов под контроль версий и добавление их в
    хранилище.

    Файлы будут добавлены в хранилище при следующей фиксации. Чтобы отменить
    добавление до фиксации, см. "hg forget".

    Если имена файлов не заданы, в будут добавлены все файлы.

    Возвращает 0, если все файлы были успешно добавлены.

параметры:

 -I --include ШАБЛОН [+] добавить файлы, имена которых соответствуют данным
                         шаблонам
 -X --exclude ШАБЛОН [+] не добавлять файлы, имена которых соответствуют
                         данным шаблонам
 -S --subrepos           рекурсивно обрабатывать подхранилища
 -n --dry-run            ничего реально не делать, просто напечатать вывод

параметры, помеченные [+], могут указываться многократно

"hg -v help add" - показать глобальные параметры

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

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

Маркетологи мать их в душу. Ладно в ядре 3-ку поставили, когда от глобальных блокировок избавились. Но тут то что?

Могзги людям запудрить? Тем кто уже пробовал, но решил, что фич маловато?

Типа, пусть еще свое время потратят. Вдруг понравиться.

Твари!

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

программа вроде не коммерческая. Хрен знает, на кой ляд это было делать.

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

emulek
()

Убийца git'а.

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

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

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

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

И что, наберу я сейчас hg add [ПАРАМЕТР]... [ФАЙЛ]... а проекта меркуриала то ещё нет, куда оно будет добавлять и куда складывать на хранение;) Намекаешь на то что кучу нерусской лабуды я должен запомнить наизусть, до буквочки, а потом забыть номер своего телефона и пароль от рута и лора?

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

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

Ты упоролся, что ли? Я другие dvcs не пробовал, но git осваивается очень быстро с помощью githowto.com. Все работает, ничего не ломается, ЧЯДНТ?

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

Я другие dvcs не пробовал

Ну так у тебя синдром утенка.

но git осваивается очень быстро с помощью githowto.com

Обычно люди, заявляющие об этом, «освоили» Git на уровне commit/push/pull.

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

Ну так у тебя синдром утенка.

Заметь, я ничего про другие dvcs не сказал.

Обычно люди, заявляющие об этом, «освоили» Git на уровне commit/push/pull.

О'кей.

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

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

ты бредишь. Да и пусть даже ты прав, тогда что тебе мешает заархивировать весь проект вместе с .hg/ ?

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

И что, наберу я сейчас hg add [ПАРАМЕТР]... [ФАЙЛ]... а проекта меркуриала то ещё нет, куда оно будет добавлять и куда складывать на хранение

прервано: хранилище не найдено в '/home/drb/tmp/z' (не найден .hg)!

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

намекаю, что там всё по-русски, для таких *** как ты.

emulek
()
Ответ на: комментарий от tazhate

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

Зачем?

наверное для того, что-бы можно было склонировать репозиторий с другого компьютера. Хотя лично я юзаю ssh(да, hg умеет ssh).

emulek
()
Ответ на: комментарий от HerrWeigel

Ну так у тебя синдром утенка.

Заметь, я ничего про другие dvcs не сказал.

Я заметил. Если бы ты еще сказал «я, кроме git, вообще vcs не пробовал», картинка была бы совершенно типичной.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от emulek

ты бредишь.

За собой следи.

Да и пусть даже ты прав, тогда что тебе мешает заархивировать весь проект вместе с .hg/ ?

1. Вес будет больше среднестатистического архива проекта, каталоги которого спланированы для удобства именно архивации.

2. Предыдущие версии проекта могут пострадать, если они пострадали в .hg/

3. Качество скопипаценных архивов с .hg/ неизвестно.

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

прервано: хранилище не найдено в '/home/drb/tmp/z' (не найден .hg)!

Ну вот, всё равно нужно тестировать команды и пейсать их в шпоргалку! По статистике, однажды использованная в линуксе команда имеет шанс понадобиться ещё много раз, так что нет смысла каждый раз шариться заново по справкам и интернетам.

намекаю, что там всё по-русски, для таких *** как ты.

Лохотронь кого другого. Команды не по русски и даже не кириллицей, а их смысл может отличаться от текста справки.

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

В справке написано одно, а на деле сработать может хз как - надо тестить и записывать рабочие комбинации опасных команд.

Говорю же, это не гит. У меркуриала и документация вменяемая, и угробить историю можно только хорошо попросив.

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

Вот только с расширениями проблема.

Официальный способ их создания - делать хуки, изменяя стандартные действия. Если плагинов больше чем 1, то все :(. Все варианты наборов плагинов никто не тестирует.

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

Говорю же, это не гит.

А откуда это узнаю, пока не проверю?

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

а потом 29.0?

Кто раньше смотрел не на цифирки, а в список изменений, это по барабану, а за других беспокоиться бессмыслено.

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

1. Вес будет больше среднестатистического архива проекта, каталоги которого спланированы для удобства именно архивации.

это потому, что только мудаки пихают в DVCS бинарники. А если не пихать, то вес небольшой. Если ты не будешь жрать/срать/спать, а будешь только код писать 60 букв в минуту, то за год ты напишешь меньше 32Мб. У тебя нет места для 32х мегабайт в год, да?

2. Предыдущие версии проекта могут пострадать, если они пострадали в .hg/

бред.

3. Качество скопипаценных архивов с .hg/ неизвестно.

ЩИТО?

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

Ну вот, всё равно нужно тестировать команды и пейсать их в шпоргалку! По статистике, однажды использованная в линуксе команда имеет шанс понадобиться ещё много раз, так что нет смысла каждый раз шариться заново по справкам и интернетам.

о да... «Add» конечно запомнить сложно...

Лохотронь кого другого. Команды не по русски и даже не кириллицей, а их смысл может отличаться от текста справки.

А зачем вообще тебе DVCS, если ты не знаешь, что такое «add», «init», и «commit»?

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

и угробить историю можно только хорошо попросив.

AFAIK угробить историю в hg можно ТОЛЬКО путём конвертации в какой-нить svn, угробливание, и конвертацию обратно.

И только такие как напильник могут сделать ТАКОЕ случайно.

emulek
()
Ответ на: комментарий от HerrWeigel

Я другие dvcs не пробовал

Вот в этом то и дело.

но git осваивается очень быстро

Это не отменяет того факта, что git красноглазое говно.

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

о да... «Add» конечно запомнить сложно...

Если у тебя затраты на хранение информации равны нулю, то запоминай в день по 10 слов иностранного языка и через пару лет будешь без труда на нём балакать. 5 минут напряги в день и язык изучен!

А зачем вообще тебе DVCS, если ты не знаешь, что такое «add», «init», и «commit»?

А причём тут знание и удобство? Вот прямо счас дописываю бинарничек который читает и вызывает скрипты, обрабатыват инфу и делает «гит коммит с опциями» - ну в лом тратить кучу ресурсов чтобы обойтись башем на 100%

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

это потому, что только мудаки пихают в DVCS бинарники. А если не пихать, то вес небольшой. Если ты не будешь жрать/срать/спать, а будешь только код писать 60 букв в минуту, то за год ты напишешь меньше 32Мб. У тебя нет места для 32х мегабайт в год, да?

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

2. Предыдущие версии проекта могут пострадать, если они пострадали в .hg/

бред.

Докажи или иди на хутор бабочек ловить.

ЩИТО?

Ты дипломированный телепат?

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

Если у тебя затраты на хранение информации равны нулю, то запоминай в день по 10 слов иностранного языка и через пару лет будешь без труда на нём балакать. 5 минут напряги в день и язык изучен!

1. если ты программист, то «add» тебе так и так придётся выучить. Без вариантов.

2. если не программист, то на кой ляд тебе DVCS?

Определись.

А причём тут знание и удобство? Вот прямо счас дописываю бинарничек который читает и вызывает скрипты, обрабатыват инфу и делает «гит коммит с опциями» - ну в лом тратить кучу ресурсов чтобы обойтись башем на 100%

я не знаю, о чём ты говоришь. У меня на F9 в vim висит скрипт, который всё собирает, делает коммит, шифрует, и сохраняет банку (hg bundle).

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

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

ну умножил. На 5. Получилось 160Мб в год. И что?

А во вторых, мне когда-то тоже хватало дискеты для хранения исходников, но вот какая хрень - дисководы делали из какого-то говна и через несколько лет они переставали нормально работать, только дискеты портили, и даже чистка контактов надолго не помогала. Теперь же есть флешки

ну. О чём я и говорю. И в чём твоя проблема? Юзать флешк религия не позволяет, только FDD?

Что до ненужности хранения некоторых бинарников, то обоснуй.

храни. Я про DVCS, туда ты зачем бинарники суёшь?

Предыдущие версии проекта могут пострадать, если они пострадали в .hg/

бред.

Докажи или иди на хутор бабочек ловить.

у меня такого не было на протяжении 5и лет ЕМНИП(или даже больше, но в 2009ом я точно hg юзал, даже в 2007ом юзал, т.ч. уже лет 7). А как ты такого добился?

Ты дипломированный телепат?

при чём тут вообще DVCS???

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

1. если ты программист, то «add» тебе так и так придётся выучить. Без вариантов.

И что с того? Слово чужое - задумываться над его смыслом, значит тратить ресурсы на подбор перевода, намного эффективнее коверкать английский и представлять эти слова как хрень произнесённую на хрени. add как-то применяется реже чем врите, реад и опен.

2. если не программист, то на кой ляд тебе DVCS?

Гит позиционируется как штука полезная и для дизайнеров с фотографами - просто такой эффективный архиватор с версиями проектов. Сжимать надо только исходники?

У меня на F9 в vim висит скрипт, который всё собирает, делает коммит, шифрует, и сохраняет банку (hg bundle).

И пусть висит, если не собираешься его в будущем нагружать интеллектуальными функциями. Без тестирования функций, оные в нестандартных ситуёвинах часто выдают не тот результат на который расчитываешь. Так зачем глубоко тестировать ещё несколько языков? Напишешь rm dummy.$$$ и получишь шишь без масла, и таких дополнительных граблей набежит много.

на F9 в vim висит скрипт

Перемотаешь ты музычку в плеере:)

Napilnik ★★★★★
()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от emulek

ну умножил. На 5. Получилось 160Мб в год. И что?

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

Юзать флешк религия не позволяет, только FDD?

С переходом на новые носители объёмы информации у тебя совсем не увеличились?

Я про DVCS, туда ты зачем бинарники суёшь?

А почему бы и не положить если используются?

у меня такого не было на протяжении 5и лет ЕМНИП

Линуксовский стиль: УМВР, значит ничего улучшать не надо.

А как ты такого добился?

Да вот hg пока не использовал - ты так и не смог объяснить, чем, при наличии шпаргалок по гиту, нетестированная СКВ лучше более-менее протестированной. А что до чудес с файлами, то такое бывает и на линуксе, в том числе и машина времени при компилировании. Компиляешь и получаешь бинарь с вкраплениями бинарей/исходников из прошлого, хотя и проект почищен и те линкуемые файлы вроде как стёрты, но получаемый бинарь упорно несёт в себе код, которого уже не должно быть.

при чём тут вообще DVCS???

Так ты телепатически определяешь внутреннее состояние и структуру всего кроме СКВ?

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

Гит позиционируется как штука полезная и для дизайнеров с фотографами - просто такой эффективный архиватор с версиями проектов. Сжимать надо только исходники?

это НЕ архиватор, и для бинарных файлов _любая_ DVCS не эффективна. Когда я меняю код, я в файле в Over9000 строк добавляю 100 строк, изменяю 3 и удаляю 2. DVCS сохраняет 105. А у тебя — ВСЁ.

И пусть висит, если не собираешься его в будущем нагружать интеллектуальными функциями. Без тестирования функций, оные в нестандартных ситуёвинах часто выдают не тот результат на который расчитываешь. Так зачем глубоко тестировать ещё несколько языков? Напишешь rm dummy.$$$ и получишь шишь без масла, и таких дополнительных граблей набежит много.

ЯННП

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

Да вот hg пока не использовал - ты так и не смог объяснить, чем, при наличии шпаргалок по гиту, нетестированная СКВ лучше более-менее протестированной.

hg более логична, и менее красноглаза. Она не требует тупого и бездумного использования твоих шпаргалок.

А почему бы и не положить если используются?

я не имею права и желания запрещать тебе забивать твои гвозди твоим микроскопом. Забивай, я не против.

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

потому что у тебя руки из жопы, и те не осилил make.

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

это НЕ архиватор,

Внезапно, он АРХИВИРУЕТ.

и для бинарных файлов _любая_ DVCS не эффективна.

Берём несколько картинок уже пожатого формата png объёмом 6Мб, создаём из них проект гита - он весит 6.1 метра, жмём его архиватором и получаем 6 метров, а если картинки сразу пожать архиватором, то получим те же 6 метров. Разница сжатия в пределах погрешности - о какой неэффективности ты говоришь?

Когда я меняю код, я в файле в Over9000 строк добавляю 100 строк, изменяю 3 и удаляю 2. DVCS сохраняет 105. А у тебя — ВСЁ.

что-то тебя не есть возможно понять. Какое-такое ВСЁ, если гит позволяет указывать в git add все или не все добавляемые именно сейчас файлы а потом всё это нормально прессуется через git commit -m «тра-ля-ля 1»

ЯННП

Когда столкнёшься с граблями в ЯП, тогда поймёшь.

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

AFAIK угробить историю в hg можно ТОЛЬКО путём конвертации в какой-нить svn, угробливание, и конвертацию обратно.

С помощью mq можно такого наворотить... :)

Но, конечно, чтобы выстрелить себе в ногу - это надо постараться

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

hg более логична, и менее красноглаза. Она не требует тупого и бездумного использования твоих шпаргалок.

Что-то, не пользуясь шпаргалками, ты свою точку зрения не можешь доказать. Про тупое и бездумное использование шпаргалок, можно поподробнее?

я не имею права и желания запрещать тебе забивать твои гвозди твоим микроскопом. Забивай, я не против.

Предлагаешь забивать гвозди ТЕЛЕскопом?)

потому что у тебя руки из жопы, и те не осилил make.

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

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

Берём несколько картинок уже пожатого формата png объёмом 6Мб, создаём из них проект гита - он весит 6.1 метра, жмём его архиватором и получаем 6 метров, а если картинки сразу пожать архиватором, то получим те же 6 метров.

бред.

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

бред.

А ты не бредь а протестируй в СКВ - хоть в гите, хоть в аналогах.

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

Не только мудаки пихают в репу бинари (а точнее большие файлы) Largefiles в hg с 2.что-то там наконец то стали работать правильно

Это я к тому, что вариантов в большом проекте с медийным контентом по сути три (не забываем, что если это к примеру игра, то контент огромный и также версионируется, как и код, плюс фермы, конвертации в зависимости от платформы и прочее, чем занимается билд-система) - 1. Держать репу сорцов в гите и контент в svn, к примеру 2. Держать сабрепами сорцы и контент в меркуриале, largefiles 3. Использовать экзотику, интегрироваться с webdav каким-нибудь и прочее г.

Так что не стоит, друзья мои. И таки да, хорошая новость.

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

Не только мудаки пихают в репу бинари (а точнее большие файлы)

может быть. А зачем?

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

этим большим файлам DVCS не слишком-то и нужна ИМХО.

И таки да, хорошая новость.

ну новая версия это конечно хорошо.

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

этим большим файлам DVCS не слишком-то и нужна ИМХО.

Твоё ИМХО к коду не подошьёшь. Большие файлы и бинарные либы/утилиты образуют с кодом единый комплекс, который ломать не есть хорошо, а держать сервак можно не только в интернете, на гитхабе, но и на локальном железе, где лишний полгига лимит не выест а скорость обмена данными не зависит от провайдера.

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

Большие файлы и бинарные либы/утилиты образуют с кодом единый комплекс

храни свёртку md5. Зачем держать эти гигабайты?

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

Что-то не врубаюсь, в чём твоя оптимизация круче и затрачивает меньше человекочасов. Да обычной двухгиговой usb2 флешки хватает чтобы хранить кучи версий проекта с тяжёлыми файлами, а 30 метровые usb1 флешки сейчас такой тормозной антиквариат что заморачиваться с подгонкой технологий под их _активную_ эксплуатацию нецелесообразно.

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