The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз распределённой системы управления версиями Mercurial 2..."
Отправлено ruslan, 04-Ноя-11 13:19 
Мои поздравления разработчикам Mercurial!

Поскольку тут идет очередной холивар Mercurial vs Git, хочу поделиться своим опытом. Я люблю и пользуюсь преимущественно Mercurial, но поработав несного с Git должен признать, что в нем тоже есть сильные стороны.
- Чего по-настоящему не хватает в Mercurial - это поддержка нормальных локальных веток. "Bookmarks" - это, конечно, локальные ветки, но недоделанные - с глобальным пространством имен и не всегда работают как надо (не перемещаются вместе с Pull-ом или Merge-а, а только с Commit-ом).
- Очень не хватает "Squash Merge" - объединения, при котором альтернативная ветка объединяется с текущей, в результате чего образуется только один новый коммит. А потом альтернативную ветку можно вообще удалить из интеграционного репозитория. Таким образом главную историю изменений можно держать в чистоте, без коммитов типа "Ой, я забыл добавить файл в проект". Но разработчики Mercurial, похоже, никогда не сделают Squash Merge, поскольку это противоречит идеологии "история священна".
- В Git система хранения репозитория действительно лучше, чем в Mercurial. Меркуриал хранит историю изменений в разрезе файлов и если в процессе истории было много переименований (особенно каталогов), то, во-первых, репозиторий будет занимать значительно больше, а, во-вторых, число файлов в репозитории тоже будет расти и расти. Это сильно нагружает файловую систему. Пример такого репозитория - SLURM. В Git - это 90 МВ и десятки файлов, в Hg - 500 MB и тысячи файлов.

Но при всем при этом у Mercurial есть свои плюсы, от которых я не смогу отказаться:
- Поддержка Windows на том же уровне, что и другие ОС,
- Хороший GUI. Это действительно удобно. В Git даже SmartGIT не дотягивает по функциональности до TortoiseHG (нет, blame и datamine, например)
- Локальная нумерация коммитов - тоже очень удобно.
- Встроенный HTTP-сервер. Невероятно удобно.
- Patch Queues - очень функциональная штука. Позволяет использовать ее аналогично Staging Area в git, но плюс еще сотня полезной функциональности.
- Кросплатформенная расширяемость. Это просто "killer feature". Вы пишете (или используете) extension и он один и тот же на всех ОС.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру