LINUX.ORG.RU

Mercurial 1.3

 ,


0

0

Сегодня объявлено о выходе нового релиза распределенной системы контроля версий Mercurial.

Некоторые из изменений:

  • Прекращена поддержка Python 2.3, теперь для работы требуется Python 2.4 - 2.6
  • Добавлена опция patch.eol для работы с кроссплатформенными патчами
  • Экспериментальная поддержка вложенных репозиториев
  • Добавлено новое экспериментальное расширение share
  • Добавлена возможность загружать хуки(hooks) из произвольных модулей Python
  • Улучшения в производительности (особенно под Windows)
  • Улучшения в веб-интерфейсе
  • Исправление ошибкок

Полный список изменений: http://mercurial.selenic.com/wiki/WhatsNew#Version_1.3_-_2009-07-01

Про вложенные репозитории: http://mercurial.selenic.com/wiki/subrepos

Share extension: http://mercurial.selenic.com/wiki/ShareExtension

Tarball: http://mercurial.selenic.com/release/mercurial-1.3.tar.gz

Из википедии: Mercurial — кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода. Mercurial первоначально был написан для Linux, позже портирован под Windows, Mac OS X и большинство Unix-систем. Система написана на Python и С.

P.S. Matt Mackall (создатель и лидер проекта) в списке рассылки в новости также написал: This release is dedicated to my grandfather, Walter Gordon Heffron, who introduced me to Unix 30 years ago, and who passed away yesterday.

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

Ответ на: комментарий от AlexM

> а ведётся какая-то [активная] работа в этом направлении?

Насчет "активной" не знаю, но последние коммиты в hgsubversion - 16 июня.

> И что насчёт итеративного перетаскивания из/в git'овый репозиторий

hg help convert (это уж года 3 работает, хотя переименования до сих пор не отслеживает), http://hg-git.github.com находится в разработке, Мэтт собирается сделать поддержку 2-3 типов "неродных" репозиториев в 1.4

> tailor

Ыыыы, какая древность. Неужели оно еще живо?

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

> Исходный посыл:

>>изменения будут аккуратно вырезаны из текущего бранча, и объединены с нужным

"Вырезаны" означает, что их в текущем бранче не останется, то есть семантика mv, а не cp. transplant же дает именно cp.

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

> Юникод так и не прикрутили.

Юникод прикрутили уж несколько лет как. Чего не хватает?

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

> Можно сделать transplant и потом rollback

Не rollback, а strip.

> На rebase исходный посыл похож еще меньше, энивей.

По сути, rebase == transplant + strip

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

я может что-то не понимаю, но где же в "концепции" rebase есть "strip"?

в моем понимании rebase всегда был "недеструктивной" операцией по отношению к версии, с которой делают rebase.

а человек изначально просил "деструктивное" действие...

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

Или в mercurial rebase имеет свое собственное значение, не как у всех?

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

> в моем понимании rebase всегда был "недеструктивной" операцией по отношению к верси

rebase деструктивен по отношению к графу истории - цепочка коммитов (возможно, модифицированных) ВНЕЗАПНО возникает в другом месте графа, и исчезает из старого.

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

Уууу блин... вот так дела... в mercurial совсем не такие бранчи, как я думал до этого...

сам я человек испорченный clearcase (производственная травма так сказать :)) mercurial использую постоянно, но никогда не пользовался бранчами...

сейчас быстро протестировал rebase... да, и правда, он деструктивен в mercurial... в clearcase все по-другому :))

Спасибо, буду знать.

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

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

А я даже не понимаю, зачем они нужны - в BitKeeper их не было, что не мешало ему поддерживать немаленькое ядро. Клоны - наше всё.

Кстати, бранчей в Mercurial 2 или даже 3 вида - 1-2 встроенных, и 1 через расширение.

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

> А я даже не понимаю, зачем они нужны

удобно на одном дереве вести два-три немного отличающихся проекта (либо создавать бранч и пробовать в нем некоторые побочные идеи).
а клонировать.. зачем это надо если отличия будут всего в паре-тройке файлов (из 5-6 тысяч)?

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

> клонировать.. зачем это надо если отличия будут всего в паре-тройке файлов (из 5-6 тысяч)

И что? Создать клон - минутное дело (у меня на ноуте репозитарий ядра клонируется 1 мин 40 сек), при том, что основное время тратится на checkout. Если для тебя эти 1.5 минуты критичны, just use mq. Не вижу необходимости в бранче.

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

> ну, на вкус и цвет...

О чем и речь... пиар это всё.

> мне лично удобнее с бранчами.

Если речь о git-подобных бранчах, то их копия есть в Mercurial через плагин.

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

> А я даже не понимаю, зачем они нужны - в BitKeeper их не было, что не мешало ему поддерживать немаленькое ядро. Клоны - наше всё.

кстати да, в Ericsson AB думают по-другому :))

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

За ссылку спасибо

> А они юзают Mercurial?

нет, они юзают ClearCase :) и бранчей в среднем проекте дохера :) под каждую новую версию релиза заводится отдельный бранч, а уж сколько промежуточных бранчей там существует... клонировать тут мне кажется мягко говоря непродуктивно (учитывая объемы кода).

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

Бяда букмарков этих, и тасков, которые я упоминал, одна - все они локальные, это не удобно, что при попытке клонировать репо, никаких бранчей там не будет...

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