LINUX.ORG.RU

Python переходит на Mercurial

 , ,


0

0

Создатель языка Python Гвидо ван Россум объявил о переводе репозиториев на распределенную систему контроля версий Mercurial. По словам Гвидо, это решение, равно как и многие решения касающиеся языка Python, было обусловлено его интуицией (в оригинале it's mostly a matter of gut feelings). Так же Гвидо подчеркнул, что лучше сразу выбрать DVCS, чем провести ближайший год обсуждая какая же из них все-таки лучшая.

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

>>> Сообщение Гвидо в рассылке

★★★★★

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

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

>на винде?

А на ней есть sshfs? Под ней и ftpfs-то, вроде, нормального нет, знаю только глючный и неудобный WebDrive :)

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

>Нет там диких тормозов. Народ, который перелез из SVN очень доволен. В том числе и производительностью.

Подтверждаю. Mercurial работает просто несопоставимо быстрее, чем SVN.

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

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

wfrr ★★☆
()

скоро каждый язык будет иметь свой репозитарий

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

> Это ты себе установку даешь что мол пока это не выгодно

Утипути, психолог ты с хвостиком %)

> однако еще более умные люди юзают другие цвс с нормальным функционалом, а не обрезки ал-ля меркуриал.

CVS с нормальным функционалом - этапять :) Белочка, ты хоть терминологию осиль, а то ведь слишком смешно флеймишь ;)

tailgunner ★★★★★
()

Перечитал всю тему, но не понял, чем git лучше, чем hg. Кроме как по причине «чем hg» :)

...

Потыкался - пока только навскидку минусы вижу.

colordiff делается только костылём, а не подключением через конфиг.

Не понимает краткие формы, типа «git co», только «git commit».

И как делать git move?

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

>Не понимает краткие формы, типа «git co», только «git commit».

Не тупи. Хоть "git c", хоть "git cm" (для "git commit -m") можешь использовать. Да, настраивается как обычный алиас в ~/.gitconfig. И даже автодополнение в bash работает повсем твоим придуманным алиасам.

>И как делать git move?

git mv

Я понимаю, что виндовые рефлексы тянут использовать move и copy, вместо mv и cp:)

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

>Перечитал всю тему, но не понял, чем git лучше, чем hg. Кроме как по причине «чем hg» :)

Performance.

>colordiff делается только костылём, а не подключением через конфиг.


Не специалист, но вроде было обсуждение в списке рассылки, и, кажись, это вырубили по дефолту и вынесли в конфиг.

>Не понимает краткие формы, типа «git co», только «git commit».


Юзай alias'ы - будет еще проще.

>И как делать git move?


Переместить файл?
Оно само догадывается при коммите, что файл был перемещен, а не "там убрали, а там добавили". Причем несмотря на изменения в этом файле.

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

>Не понимает краткие формы, типа «git co», только «git commit».

Не тупи. Хоть "git c", хоть "git cm" (для "git commit -m") можешь использовать. Да, настраивается как обычный алиас в ~/.gitconfig. И даже автодополнение в bash работает повсем твоим придуманным алиасам.

>И как делать git move?

git mv

Я понимаю, что виндовые рефлексы тянут использовать move и copy, вместо mv и cp:)

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

P.S.
$man git-mv

GIT-MV(1) Git Manual GIT-MV(1)

NAME
git-mv - Move or rename a file, a directory, or a symlink

SYNOPSIS
git mv <options>... <args>...

DESCRIPTION
This script is used to move or rename a file, directory or symlink.

git mv [-f] [-n] <source> <destination>
git mv [-f] [-n] [-k] <source> ... <destination directory>
In the first form, it renames <source>, which must exist and be either a file, symlink or directory, to <destination>. In the second form, the last argument has to be
an existing directory; the given sources will be moved into this directory.

The index is updated after successful completion, but the change must still be committed.

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

>> Перечитал всю тему, но не понял, чем git лучше, чем hg. Кроме как по причине «чем hg» :)

> Performance.

Результаты тестов будут, или как обычно?

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

>>> Перечитал всю тему, но не понял, чем git лучше, чем hg. Кроме как по причине «чем hg» :)

>> Performance.


>Результаты тестов будут, или как обычно?


Вообще-то это известный факт.
Потроллить решил или в гугле забанили?

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

> Оно само догадывается при коммите, что файл был перемещен, а не "там убрали, а там добавили". Причем несмотря на изменения в этом файле.

плохо ты гит знаешь, Он вообще никак не отслеживает перемещения/копии файлов. git mv f1 f2 это тоже самое что и mv f1 f2 && git rm f1 && git add f2. Опционально может по содержимому находить перемещения и копии, но это не во время коммита, а во время каждого слияния (и ff тоже).

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

>плохо ты гит знаешь, Он вообще никак не отслеживает перемещения/копии файлов. git mv f1 f2 это тоже самое что и mv f1 f2 && git rm f1 && git add f2. Опционально может по содержимому находить перемещения и копии, но это не во время коммита, а во время каждого слияния (и ff тоже).

4.2

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

>плохо ты гит знаешь,

да, т.к. пользуюсь малой частью его функциональности.

>Он вообще никак не отслеживает перемещения/копии файлов. git mv f1 f2 это тоже самое что и mv f1 f2 && git rm f1 && git add f2. Опционально может по содержимому находить перемещения и копии, но это не во время коммита, а во время каждого слияния (и ff тоже).


Я просто переместил файл и при коммите (или при push без изменений на origin, т.е. без необходимости merge) оно мне выдало что-то в духе "файл X перемешен и изменен на 40%".

З.Ы.

Сделал перемещение файла:
$mv qtscript_0.1.0-1_i386.changes qtscript
$git add qtscript
$git rm qtscript_0.1.0-1_i386.changes
$git status

# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: qtscript_0.1.0-1_i386.changes -> qtscript
#

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

>>плохо ты гит знаешь, Он вообще никак не отслеживает перемещения/копии файлов. git mv f1 f2 это тоже самое что и mv f1 f2 && git rm f1 && git add f2. Опционально может по содержимому находить перемещения и копии, но это не во время коммита, а во время каждого слияния (и ff тоже).

> 4.2

Бгг. Таких базовых вещей не знать %)

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

>Оно само догадывается при коммите, что файл был перемещен, а не "там убрали, а там добавили"

Попробовал. Не догадывается. Видит только, что файл был удалён и всё :)

(про mv понятно)

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

>>Результаты тестов будут, или как обычно?

>Вообще-то это известный факт.

Известный только тебе.

> Потроллить решил или в гугле забанили?

Значит, как обычно.

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

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

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

> Правда, там не самые свежие версии в обзоре...

И есть подозрение, что для Mercurial использовался не самый эффективный формат репозитория.

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

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

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

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

> Что то ты скис, может еще запятые изучишь в моих постах.

Не, тогда мессагу снесут за флуд.

> Давай лучше расскажи что делать бедным девелоперам с твоим фекаломеркуриалом когда нужна только одна папка

Если нужна папка - пусть идут в магазин канцелярских товаров, очевидно же. Если хотят трафик экономить - пусть локальное зеркало сделают.

> Пока меркуриал не обретет достаточный функционал он останется текущим поделием которое будут применять лишь мазохисты

Типа OpenSolaris, JDK, Mozilla и Python? Ну не всем же быть столь крутыми, как лоровские белки :)

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

> и напихали sleep(100) в код.

Не, sleep(10). Там вообще-то большинство тестов показали результаты мень 100 секунд :)

> Это заговор!

Ты знал!!!!11

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

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

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

>Если хотят трафик экономить - пусть локальное зеркало сделают.

Приходи к нам админом, будешь настраивать всякие отстойные вцс (так уж и быть но цвс произносить легче), я те буду покупать пачку доширака из своей зарплаты. Да, каждому из девелоперов придется дома установить маленькое локальное зеркало, но это уже за твой счет.

>Типа OpenSolaris, JDK, Mozilla и Python? Ну не всем же быть столь крутыми, как лоровские белки :)


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

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

по-моему, графики показывают что скорость у mercurial достаточная :).

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

>> Если хотят трафик экономить - пусть локальное зеркало сделают.

> Приходи к нам админом

В зоопарк требуется админ? O_O

> я те буду покупать пачку доширака из своей зарплаты.

Ненене, ты ж голодным останешься. на флейм сил не хватит %)

>>Типа OpenSolaris, JDK, Mozilla и Python? Ну не всем же быть столь крутыми, как лоровские белки :)

>Ну так они хотят этого секаса, у них у всех установлен упомянутый мной костыль

Жж0ш. Ничего, что у Python еще ничего не установлено? :)

> не намек ли это на то что в команде меркуриала сидят странные люди которые не видят что нужно пользователям?

Нет. Это намек на то, что белки что-то ниасиливают.

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

Да, сравненьице не шибко сильное, но на безрыбье и рак рыба, как говорится.

Сам юзаю меркуриал (хотя и поглядываю на гит периодически), и считаю что доли секунды на практике не сильно и важны. Гораздо важнее, чтоб мой тормознутый мозг сообразил какую комманду нужно дать чтоб получить нужный результат. В случае с гитом время на обдумывание каждого шага (и даже на собственно набор команнды в КС) с лихвой перекрывают мизернейшее скоростное преимущество.

А вот свн тормозит непозволительно долго, особенно когда сервер на другом континенте. Я чай выпить успеваю пока коммит пройдет. Слава Богу, что статус и дифф локально работают.

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

>Да, действительно показывает что нашел переименование. Но смысл в том что это никак в самом репозитарии не регистрируется, и показана только для информации.

частично 4.2, сделай git log -M -p на досуге

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

>В зоопарк требуется админ? O_O

Зверушек не любишь?

>Ненене, ты ж голодным останешься. на флейм сил не хватит %)


А я дошираком не питаюсь, это все люди его любят.

>Жж0ш. Ничего, что у Python еще ничего не установлено? :)


Ну так погугли найди пачку задрищенских репозиториев где все по дефолту и повыкладывай тут оглашая все торжественными звуками вскипающих луж.

>Нет. Это намек на то, что белки что-то ниасиливают.


Да, кактус неприлично колючий, а белки к такой еде не приучены.

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

> частично 4.2, сделай git log -M -p на досуге

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

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

> на сколько я понял, он написан на питоне - подозреваю ...

> опять же, так как он написан на питоне ожидаются...

Ещё одно гадалко ясновидящее.

Я понимаю, когда человек попробовал, ему не понравилось, и он об этом пишет. А зачем писать о том, чего не знаешь?

Mercurial использую с лета 2007 - отличная вещь. Особенно в восторге от Mercurial Queues. До этого пользовался ClearCase, Visual SourceSafe, CVS, Perforce, SVN, так что есть с чем сравнивать.

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

>> В зоопарк требуется админ? O_O

> Зверушек не любишь?

Работать в коллективе говорящих зверушек - это не по мне %)

>>Жж0ш. Ничего, что у Python еще ничего не установлено? :)

>Ну так погугли найди пачку задрищенских репозиториев где все по дефолту и повыкладывай тут

Нет, ты. Сказал, что у Питона используется "мультипроджект" - выложи нам репозиторий Питона.

> Да, кактус неприлично колючий, а белки к такой еде не приучены.

Белки приучены грызть грабли :D

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

>Почему не git?

Потому что для большинства разницы нет, а юзерфрендли у ртути гораздо выше.

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

>вроде, как в svn собираются добавить функциональность dvcs.

Вот когда добавят...

А пока централизованные хранилища проигрывают по скорости распределенным.

Куча замеров скорости валяется по всей сетке svn vs git или hg.

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

>Я тут недавно то же самое сказал, а меня ткнули носом в TortoiseGit.

Плохо ткнулся. Посмотри на функционал.

И сравни аналогичное с ртутью. Плюс наличие плагинов под IDE.

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

>а это с 10ок "распределённых комиттеров"

вот-вот. десяток.

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

>а с сомнительной эффективностью сам будет просчитывать.

Тебе шашечки или ехать? Как будто этот алгоритм будет отличаться от того, что использует git status. Разработчики, видимо, мазохисты и написали два различных алгоритма, ага.

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

>Performance.

Там слабые различия и не на всех операциях.

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

> а нормальный язык его интуиция не позврлила создать? это всё он нарочно делал получается, чтоб народу сложностей прибавить.

Ну, Гвидо еще год назад собирался начать писать мемуары. Возможно, поэтому, в трешке самые значительные изменения: поломанная совместимость и ухудшеная производительность.

Если бы Гвидо занимался делом и развивал язык, врядли в той же компании, где он работает возникла бы группа, которая тоже занимается развитием Python. И хотя они прикидываются ласточками, но это другая группа в той же компании, которая занимается разитием того же языка.

Хотя, возможно, что в Гугле возникло новое течение - для всего создать JIT (для яваскрипта, теперь Python).

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

> а нормальный язык его интуиция не позврлила создать? это всё он нарочно делал получается, чтоб народу сложностей прибавить.

рекомендую последовать примеру своего незабвенного тёзки

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