LINUX.ORG.RU

Вышел Mercurial 1.4!

 , , ,


0

0

Вышла новая версия распределенной системы контроля версий Mercurial.

  • Новая команда summary для получения общей информации о репозитории
  • Улучшена производительность операций с тегами (tags) благодаря кешированию
  • Добавлены опции --stat и --reverse к команде diff
  • Устранены некоторые баги в эксперементальном расширении subrepos
  • Исправлено поведение status при отклонении системных часов
  • Новая опция --updaterev у clone
  • Исправлены ошибки в push и pull, из-за которых наблюдались broken pipes при больших трансферах
  • В конфиге теперь можно использовать переменные окружения и конструкцию ~user.
  • Улучшения в hgweb
  • Документация переверстана в reStructuredText
  • Незначительные улучшения и багфиксы в популярных расширениях: mq, patchbomb, rebase, color, inotify, zeroconf, extdiff, convert
  • Новое расширение relink, позволяющее восстановить ссылки (hard links) между клонами.
  • Теперь поддерживаются нестандартные настройки локали в Mac OS X

Скачать можно здесь: http://www.selenic.com/mercurial/rele...

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

★★★★★

Проверено: maxcom ()

Ответ на: комментарий от Gleb-ax

> хаскелисты переходят на нормальную систему контроля версий - git

отличнаяшутка.jpg

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

>> Для Mercurial есть очень приличный кросплатформенный GUI - TortoiseHG

А под Linux оно с наутилусом интегрится или как?

По слухам, да.

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

Про переименование — бред.


Где то что вы написали противоречит тому, что написал я?

Ещё раз: в следствии того, что git для идентификации файлов использует хэши, а hg — имена, в git переименования обрабатываются более эффективно (если переименовать файл, хэш не изменится: не нужно как-то специально определять, что файл переименовывался). Но в hg зато более эффективный сетевой протокол (при выполнении аналогичных операций нужно передавать меньше данных).

Fice ★★
()

> Что-то ты сочиняешь.

Отлично если так. Я на своем опыте с коллегой юзаем один репозиторий git. Делали такой тест - он делает модификации и я делаю в одм файле только я вначале он в конце файла. В зависимости от того что делает push первым - у того хорошо, у второго - конфликт естественно. Вопрос: что мы делаем не так? Может надо как-то по-другому - если есть решение проблемы - буду только рад.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Fice

> Ещё раз: в следствии того, что git для идентификации файлов использует хэши, а hg — имена, в git переименования обрабатываются более эффективно (если переименовать файл, хэш не изменится: не нужно как-то специально определять, что файл переименовывался)

Ага, всего лишь поискать в двух коммитах файл с изменившимся хэшем (там, где у hg есть явная запись о переименовании). Это не говоря о случае «переименование и изменение», когда git должен вычислить сходство файлов, чтобы определить факт переименования (и делать это каждый раз при просмотре истории). Очень эффективно, да :D

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

> В зависимости от того что делает push первым - у того хорошо, у второго - конфликт естественно.

Конфликт на push? O_O

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

> В зависимости от того что делает push первым - у того хорошо, у второго - конфликт естественно.

push просто дописывает все changeset-ы в другой репозиторий. Если у двух коммитов был один и тот-же parent, то просто появятся дополнительные head-ы, которые дальше нужно мержить.

Mercurial по умолчанию на эти самые дополнительные head-ы проверят и отказывается push-ить если они есть. Но это обходится ключем -f (либо в hgrc)

Вопрос: что мы делаем не так? Может надо как-то по-другому - если есть решение проблемы - буду только рад.

У вас нехватает шага merge либо rebase.

dion
()

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

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

> Есть ли хоть одна система которая умеет такие вещи разруливать сама? А может быть git такое уже умеет?..

ололо, толстячек ;)

zHACKa
()

> ололо, толстячек ;)

Молчать, школота =) Ни разу не было намерения троллить или чего-то подобного.

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

>> * Gnome/Nautilus integration

>Ну я и говорю - "по слухам" :) Сам не пробовал.


:) Ясно. Тогда могу сказать что работает не только по слухам.
Статусы файлов отображает, все действия доступны из контекстного меню, UI в новой версии (0.9) очень радует.

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

> В git-е например при попытке редактировать файл одновременно - возникает конфликт

8-0 _разные_ части? Что-то в консерватории не так. Если коллизия может быть разрешена соотнесением с двумя разными неизменяющимися контекстами (обычно, +/-3 строчки вокруг изменяемого фрагмента) - она будет разрешена без конфликта.

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

> Ага, всего лишь поискать в двух коммитах файл с изменившимся хэшем (там, где у hg есть явная запись о переименовании). Это не говоря о случае «переименование и изменение», когда git должен вычислить сходство файлов, чтобы определить факт переименования (и делать это каждый раз при просмотре истории). Очень эффективно, да :D

На практике - отлично работает. Даже в проектах с сотнями тысяч ревизий и тысячами, если не десятками тысяч файлов. Имею практический опыт.

AlexM ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

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

:) Вас спасёт rebase. Я серьёзно, для случая, когда команда работает в пределах одной ветки лучше использовать merge/pull --rebase (или явный rebase после fetch). В принципе, это настраивается для каждой конкретной ветки в конфигах.

Кстати говоря, наши hg'кнутые друзья в этом месте, кажется, имеют более автоматизированную процедуру. Но по сути, всё это - с точностью до набора командочек в крохотном батничке, реализующем логику update.

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

> А кто-то говорил, что не работает? Речь шла об «эффективно».

Лучше за hg'шный syntax sugar для svn'щиков расскажите, право слово. И мне, и большинству аудитории будет интереснее.

Практика показала, что люди, «прибитые к CVS/SVN workflow» и не очень желающие вникать в новые парадигмы, предоставляемые git, трудновато привыкают к git'овым реалиям. При этом, я не могу обвинить людей в технической некомпетентности или там, скажем, саботаже. Хотя, опять же, из практики, через некоторое время git настолько въедается в пальцы, что всё остальное кажется неудобным.

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

> Эффективно - это значит «без раздражающих задержек» ?

Нет. Это значит, «с наименьшими затратами ресурсов».

Лучше за hg'шный syntax sugar для svn'щиков расскажите, право слово.

За набор команд hg? Так он для всех, а не только для svn'щиков.

Практика показала, что люди, «прибитые к CVS/SVN workflow» и не очень желающие вникать в новые парадигмы, предоставляемые git, трудновато привыкают к git'овым реалиям.

Практика показывает, что Git мешает им привыкать к новому workflow своим странным набором команд и высосанной^Wпричудливой терминологией.

из практики, через некоторое время git настолько въедается в пальцы, что всё остальное кажется неудобным.

Я таким всегда советую прочитать рассказ Габышева «Люсик» ;)

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

Что-то Вы какой-то неконструктивно настроенный. Не хотите рассказывать - ну, в общем, Ваше право. Замечу только, что «набор команд» не решает, решает «разбор полётов» для юзкейсов, типичных для среднестатистического пользователя, пришедшего с CVS, SVN и далее по списку.

«С наименьшими затратами ресурсов» - Чьих? Машинных? Тогда, увы, это сразу не про питон. Заметьте, я не имею ничего против языка, и не имею ничего против того, что hg на нём написан, но моё определение эффективности и не включает такой довольно жёсткой (по крайней мере, с точки зрения математики) и не слишком полезной сущности, как «наименьшие затраты машинных ресурсов».

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