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

Исходное сообщение
"Релиз распределенной системы управления версиями Mercurial 1.7"

Отправлено opennews , 03-Ноя-10 18:25 
Вышел (http://www.selenic.com/pipermail/mercurial/2010-November/035...) релиз распределенной системы управления версиями Mercurial 1.7. В новой версии представлено около ста изменений (http://mercurial.selenic.com/wiki/WhatsNew#A1.7_.282010-11-0...), связанных в основном с оптимизациями, устранением недоработок и добавлением несущественных улучшений.


Из достоинств Mercurial можно отметить (http://www.opennet.me/opennews/art.shtml?num=14934): независящее от объема кода высокое быстродействие; компактное хранение данных в проиндексированном и сжатом виде; распределенная модель разработки, допускающая произвольное слияние отдельных децентрализованных репозиториев; встроенные средства резервного копирования и проверки целостности; привычный CVS-подобный набор команд; большой выбор GUI- и web-интерфейсов; поддержка нескольких моделей организации репозитория: централизованная cvs-подобная, распределенная полу-иерархическая и иерархическая децентрализованная.


В качестве примера ...

URL: http://www.selenic.com/pipermail/mercurial/2010-November/035...
Новость: http://www.opennet.me/opennews/art.shtml?num=28516


Содержание

Сообщения в этом обсуждении
"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 18:25 
На работе юзаю Mercurial, ибо много кто сидит на винде. Для всего остального - только git.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено lava , 03-Ноя-10 18:40 
обоснуй

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Damon_ , 03-Ноя-10 18:40 
> Для всего остального - только git.

С чего так безапелляционно? Не холивара ради, а токмо образования для!

Сам с SVN на Mercurial перебрался недавно, пока доволен и счастлив. Любопытно было бы услышать мнение того, кто с обоими системами работал... ( Я про Mercurial и Git )


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 18:52 
Почему безапеляционно ? Мне надо было с самим собой поспорить что-ли ? :-)

Из-за простоты работы с ветками.

В mercurial аналога git checkout -b new_feature так и не нашёл. В mercurial для этого приходится клонировать репо, потом мержить в корневой, в общем ерунда какая-то. Знатоки Mercurial поправят, если это не так.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Tav , 03-Ноя-10 19:09 
hg update -r new_feature

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 19:11 
$ hg update -r new_feature
abort: unknown revision 'new_feature'!



"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Tav , 03-Ноя-10 19:24 
> $ hg update -r new_feature
> abort: unknown revision 'new_feature'!

Эта команда обновляет рабочий каталог на заданную ветку, тэг или номер набора изменений. Если такой ветки не было, она не создается (в отличие от git).

Начать с текущего набора изменений новую ветку можно с помощью "hg branch".

Или я неправильно понял проблему?


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 19:26 
Ну вот собсно я потому гит и люблю, потому что одной командой создаётся ветка и можно с ней сразу работать.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Tav , 03-Ноя-10 19:32 
В mercurial одной командой "hg branch" создается ветка и можно с ней сразу работать.
"hg update" позволяет переключаться между ветками. Другое действие — другая команда, логично же.

А вообще, более похоже на ветки в git работает расширение bookmark (уже упоминали в соседнем комментарии). Но мне оно пока не пригождалось.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 19:54 
Возможно, я недостаточно хорошо читал документацию, но на мой взгляд в Mercurial работа с ветками сложнее, чем в git. Хорошо, что есть какие-то расширения, но просто нет желания тратить время, чтобы разбираться с ними, хотя бы потому, что уже умею всё это быстро делать с помощью другого инструмента.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено tsotsos , 03-Ноя-10 20:33 
т.е. "только git" в первом комментарии означало "знаю только git. вернее несколько команд из первых страниц мануала. об этом должен знать весь opennet.ru"

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 20:40 
Вы несколько неверно поняли коммент, на который ответили. Он был написан для того, чтобы выразить предыдущему оратору уважение, и подчеркнуть, что моё мнение - это только моё мнение.

ОК, допустим, что про git я знаю только "несколько команд из первых страниц мануала". Скажите в таком случае, почему мне их хватает для полноценной работы ? Я даже больше скажу: для работы с git хватит 7-ми команд. Хватит ли для полноценной (1:1) работы с Mercurial семи команд ? Без ковыряния с плагинами, естественно.

"весь opennet.ru" должен знать, на мой взгляд, что есть и другой инструмент, и по мнению многих он лучше.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено develop7 , 03-Ноя-10 21:35 
> Хватит ли для полноценной (1:1) работы с Mercurial семи команд?

Эммм…
init/clone
addremove
commit
pull
push
branch
update

7 штук — более чем достаточно.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено аноним , 03-Ноя-10 19:18 
hg bookmark new_feature

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


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 03-Ноя-10 19:19 
$ hg bookmark new_feature
hg: unknown command 'bookmark'
Mercurial Distributed SCM

Насчёт уважать-не уважать no comments, все вопросы к Линусу :-)


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Tav , 03-Ноя-10 19:33 
> $ hg bookmark new_feature
> hg: unknown command 'bookmark'
> Mercurial Distributed SCM

Нужно включить расширение bookmark в ~/.hgrc.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Cykooz , 03-Ноя-10 22:57 
О методах работы с ветками в Mercurial и их отличие от Git можно почитать тут - http://pqr7.wordpress.com/2010/10/10/a-guide-to-branching-in.../
Надо сказать возможности Mercurial в этом вопросе мне кажутся шире.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено spanasik , 04-Ноя-10 10:00 
Спасибо за информацию, обязательно почитаю !



"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Zert , 04-Ноя-10 14:36 
Вот именно после этого мануала я окончательно убедился, что веток в меркуриале нет. Ибо такое нагромождение костылей ими считаться не может.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено аноним , 04-Ноя-10 16:43 
Забавно, как раз таки в меркуриале ветки самые естественные и ненапряжные, в отличие от (google detached HEAD problem)

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Zert , 04-Ноя-10 17:12 
> Забавно, как раз таки в меркуриале ветки самые естественные и ненапряжные, в
> отличие от (google detached HEAD problem)

Ну-ну



"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено Аноним , 03-Ноя-10 23:56 
Достало засилье похвальбы в адрес Git.
Mercurial по возможностям ну ничем не хуже. Только что-то можеть делаться чуть-чуть по-другому. К тому же, если надо - есть и расширения.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено sergey , 04-Ноя-10 12:21 
А в чём проблема с git под Windows?

И как бы разница есть:
It is important to note that this is very different from most SCM systems that you may be familiar with. Subversion, CVS, Perforce, Mercurial and the like all use Delta Storage systems - they store the differences between one commit and the next. Git does not do this - it stores a snapshot of what all the files in your project look like in this tree structure each time you commit. This is a very important concept to understand when using Git.
http://book.git-scm.com/1_the_git_object_model.html


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено аноним , 04-Ноя-10 13:26 
Врут - гит все равно пакует дельтами (и для того, что бы он работал с приемлемой скоростью - это необходимо), только меркуриал это делает всегда, а гит переодически (автоматом или через git-gc/git-repack). Но в любом случае в обоих системах это всего лишь деталь реализации (равзе что потребность в git-repack делает гит более убогим) - объектная модель у обоих на дельты не завязана, идентефикаторы (хеши) считаются от полных объектов.

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено ygerasimov , 22-Ноя-10 11:44 
как в hg изменить предыдущие коммиты? Аналог git rebase -i HEAD~3 ?

"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено develop7 , 22-Ноя-10 11:55 
> как в hg изменить предыдущие коммиты? Аналог git rebase -i HEAD~3 ?

Что-то из этого — http://mercurial.selenic.com/wiki/RebaseExtension, http://mercurial.selenic.com/wiki/TransplantExtension или http://mercurial.selenic.com/wiki/HisteditExtension

Inb4 следующих вопросов — http://mercurial.selenic.com/wiki/GitConcepts#Command_equiva...

А вообще переписывание истории как правило не нужно.


"Релиз распределенной системы управления версиями Mercurial 1..."
Отправлено ygerasimov , 22-Ноя-10 12:41 
очень толковые ссылки. спасибо.