LINUX.ORG.RU

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

 , ,


0

0

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

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

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

★★★★★

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

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

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

Факт в том, что Git не хранит данных о переименовании, а вычиляет их каждый раз.

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

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

Осиль разницу между языком и его интерпретатором.

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

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

Это от кактуса меркуриала так торкает? Хм видимо я рано с него свалил.

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


Они их подкладывают.

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

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

> Это от кактуса меркуриала так торкает

Тебе виднее, что ты принимаешь. Я лично думаю, что тебя штырит от волшебных граблей.

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

> Они их подкладывают.

Одно другому не мешает %)

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

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

А теперь прикинь, появляется новость, что OpenSolaris перешел на git. Куда пойдут его пользователи? :-)

Идеология, однако.

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

> А теперь прикинь, появляется новость, что OpenSolaris перешел на git. Куда пойдут его пользователи? :-)

А прикинь, такой новости не появится. Куда ты пойдешь?

> Идеология, однако.

Ты смешон, правда. Иди почитай о процедуре выбора DVCS для OpenSolaris.

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

> Осиль разницу между языком и его интерпретатором.

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

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

>за спиной каждого коммиттера сидят пара-тройка девелоперов, которе не имеют никакого правa комиттить в SVN

Пусть кинет в меня камень тот, кто аргументированно заявит, что под такую модель DVCS подходят хуже!

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

>> А теперь прикинь, появляется новость, что OpenSolaris перешел на git. Куда пойдут его пользователи? :-)

>А прикинь, такой новости не появится. Куда ты пойдешь?

Про то и писал, что ее не появится.

>> Идеология, однако.

> Ты смешон, правда. Иди почитай о процедуре выбора DVCS для OpenSolaris.

На заборе тоже написано. Почитай про заботу о пользователях в рекламе от MS.

Хочешь посмеяться - смейся.

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

>> Ты смешон, правда. Иди почитай о процедуре выбора DVCS для OpenSolaris.

> На заборе тоже написано.

То есть не читал и не будешь. Дело твое.

> Хочешь посмеяться - смейся.

Уже.

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

> Для питона ее нет.

Да ну? ironpython, pypy, jython, etc(лень гуглить что ещё изобрели)...

Гвидо, по его словам, кодом cpython не занимается, он занимается развитием самого языка а не конкретной реализации.

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

2Valeriy_Onuchin

>моё мнение: >1. Mercurial - не нужен >2. всё это "корпоративщина", PR от Гвидо ван Россумa

А может всетаки прежде чем высказывать мнение разобраться надо? Да и вообще если устриц не пробовал....

У меня например 3 репозитория. 1 Дома 1 На работе 1 на Флешке. Если надо делаю хоть 100 репов. Ваша иерархия с СВН это от бессилия

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

CVS служил верой и правдой многие годы и его функций хватало всем , а то что явились новые vcs так это эволюция . Все vcs нужны.

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

> Как только git научится работать с удалёнными FS

Кстати, да.

git не работает в каталоге, подключённом с sshfs

В чём дело?

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

> CVS служил верой и правдой многие годы и его функций хватало всем

Не всем :) Мне на хватало - я начал пользоваться VCS только с выходом SVN. А Линус был настолько суров, что и SVN не стал пользоваться.

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

>Кстати, да.

>git не работает в каталоге, подключённом с sshfs


>В чём дело?


А вы тему-то прочтите внимательно.

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

Не всем :) Мне на хватало - я начал пользоваться VCS только с выходом SVN

Тоесть до выхода SVN вы работали без системы учета версий ? Ну что ж коллега поздравляю вы выстояли это время героически ;)

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

>CVS служил верой и правдой многие годы и его функций хватало всем

Неправда ваша. Мне не хватало в своё время прежде всего атомарных коммитов (коммит не разбивается на файлы) и раздражало непонятно чем продиктованное версионирование.

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

>> Не всем :) Мне на хватало - я начал пользоваться VCS только с выходом SVN

> Тоесть до выхода SVN вы работали без системы учета версий ?

Ну не совсем. Мы делали снэпшоты в arj, zip или tar.gz.

> Ну что ж коллега поздравляю вы выстояли это время героически ;)

Я даже больше скажу - я лично пытался асилить CVS, и каждый раз отступал в недоумении :)

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

По моему в этом и есть кайф что бы не заморачиваться на циферках.

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

Ну не совсем. Мы делали снэпшоты в arj, zip или tar.gz.

Вы знаете помоему проще все таки осилить cvs чем столь извращаться не так ли? Позвольте узнать какой же дополнительный фунционал несет сей извращеный способ ?

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

>> Ну не совсем. Мы делали снэпшоты в arj, zip или tar.gz.

> Вы знаете помоему проще все таки осилить cvs чем столь извращаться не так ли?

Я посчитал, что не так.

> Позвольте узнать какой же дополнительный фунционал несет сей извращеный способ ?

Дополнительного - никакого не нес.

tailgunner ★★★★★
()

Давно пора. Молодцы, правильный выбор.

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

> SVN по сравнению с Mercurial - прошлый век (я пользователь SVN с версии 0.14).

он может 10 раз прошлый быть, но для проекта, который пишет один человек (а также 2, 3 или 4), необходимость DVCS малопонятна...

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

>он может 10 раз прошлый быть, но для проекта, который пишет один человек (а также 2, 3 или 4), необходимость DVCS малопонятна...

Юзаю DVCS для личных проектов, ибо:
1. привычка к одному DVCS
2. кто-угодно из DVCS быстрее SVN
3. распределенность это фича - не хочешь, не юзаешь
4. Иногда надо переходить с компа на ноут и назад

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

> для проекта, который пишет один человек (а также 2, 3 или 4), необходимость DVCS малопонятна...

Mercurial просто лучше. Если добавить к нему mq, он намного лучше, и распределенность здесь не причем,

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

>но для проекта, который пишет один человек (а также 2, 3 или 4), необходимость DVCS малопонятна...

Как раз, когда работаешь в одиночку, DVCS - это верх удобства. Говорю по своей практике. А вот в DVCS в большой команде раздолбаев - это, до сих пор считаю, вред делу. Половину всей работы будешь тратить на слияние бранчей и тестирование вылезающих из-за этого багов :)

А вот в одиночку - милое дело. Репа дома, репа на боевом сервере, пару реп на работе - и всё это сводится только так, как тебе нужно.

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

> Как раз, когда работаешь в одиночку, DVCS - это верх удобства.

Да, именно так. Создать новый репозитарий с помощью меркуриала - секундное дело. Если к проекту подключатся люди, можно этот же репозитарий поднять на сервере.

> А вот в DVCS в большой команде раздолбаев - это, до сих пор считаю, вред делу. Половину всей работы будешь тратить на слияние бранчей и тестирование вылезающих из-за этого багов :)

Категорически не согласен. Поднимается центральный сервер, на котором запрещены несколько head-ов в основном бранче. В результате тот, кто хочет отдать свои изменения на сервер, должен подтянуть изменения с сервера и сам всё смержить перед отдачей. Т.е. здесь отличия от svn нет. А вот дополнительные удобства есть: коммитишь себе локально и не паришься. Потом мержишь head-ы отдельным коммитом. Т.е. мухи - отдельно, котлеты - отдельно.

Хотя, если пользоваться mq, то всё ещё проще: хочешь подтянуть изменения с сервера - откатываешь все патчи, обновляешь локальный репозитарий, а потом накатываешь патчи обратно, исправляя конфликты и прогоняя тесты.

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

> http://www.whygitisbetterthanx.com/#git-is-fast

Интересный обзор - прочитав его понял следующие два факта:

1. Команда add у git самая медленная.

2. svn checkout самый быстрый среди всех рассмотренных систем.

иными словами git-is-fast-in-all-operations-except-add-and-it-is-slower-than-svn-checkout

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

>Поднимается центральный сервер, на котором запрещены несколько head-ов в основном бранче.

А, ну, если так. Просто не попадалась на глаза такая возможность. Надо будет попробовать.

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

>Просто не попадалась на глаза такая возможность. Надо будет попробовать.

Ну меркуриал визжит диким голосом, если push добавляет голову. Этого недостаточно?

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

> он может 10 раз прошлый быть, но для проекта, который пишет один человек

у меня не всегда есть инет, а без доступа к центральному репозиторию(история проекта итп) svn бесполезен. А вот с git я могу работать и без доступа в инет, главное конфликтов не насажать. И копия репозитория у меня на ноуте и домашней тачке, тут уже распределённые системы лучше подходят.

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

> Ну меркуриал визжит диким голосом, если push добавляет голову.

Ага, я это и имел ввиду - при попытке сделать push, который создаёт head, сервер давал отлуп. Возможно там специально и конфигурить ничего не надо (сервер поднимал не я, поэтому точно не знаю).

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

>конфигурить ничего не надо

Именно так, он по умолчанию настроен на сопротивление такому всеми силами.

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

> при попытке сделать push, который создаёт head, сервер давал отлуп. Возможно там специально и конфигурить ничего не надо

Надо. По умолчанию сервер не возражает против нескольких голов. Чтобы возражал, надо писАть хук.

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

Ась?

$ hg init test
$ cd test/
$ vi README
$ hg add
adding README
$ hg ci
$ cd ..
$ hg clone test/ test2
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test
$ vi README 
$ hg ci
$ cd ../test2/
$ vi README 
$ hg ci 
$ cd ../test
$ hg serve &
$ cd ../test2/
$ hg push http://localhost:8000
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)

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

> Ась?

Штоа?

> (did you forget to merge? use push -f to force)

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

P.S. vi сосет :D

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

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

Разумеется. Но от невнимательности дефолтное поведение спасает и без хука.

>P.S. vi сосет :D

А вот сейчас как расскажу всем, что ты mcedit юзаешь!

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

> от невнимательности дефолтное поведение спасает и без хука.

"Добпым словом и пистолетом^Wхуком на сервере можно сделать гораздо больше, чем просто добрым словом" (c)

>> P.S. vi сосет :D

> А вот сейчас как расскажу всем, что ты mcedit юзаешь!

Ибо он рулит безжалостно.

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

>"Добпым словом и пистолетом^Wхуком на сервере можно сделать гораздо больше, чем просто добрым словом" (c)

Ну в окружении тех, кто может додуматься пустить push с -f оправданно. Но если на каждый подобный случай городить по пистолету, то можно будет открывать оружейную лавку.

>Ибо он рулит безжалостно.

Взрослый дядько, а поделием для виндузятников пользуется. Тьфу!

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

>Ну меркуриал визжит диким голосом, если push добавляет голову. Этого недостаточно?

Не-а. Я же писал про раздолбаев-разработчиков.

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

>>Ну меркуриал визжит диким голосом, если push добавляет голову. Этого недостаточно?

>Не-а. Я же писал про раздолбаев-разработчиков.

Это уже вредители какие-то. Тех, кто делает push -f, надо увольнять после первого предупреждения, потому что такие действия говорят о полном непонимании процесса коллективной разработки.

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

> Тех, кто делает push -f, надо увольнять после первого предупреждения

Слова Крона о коллективе раздолбаев относились к коллективу вольных прогеров, которых хрен уволишь :)

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

>относились к коллективу вольных прогеров, которых хрен уволишь

Угу, именно. И если таких «увольнять» проект просто накрывается :)

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

Угу, сталкивался с такой особенностью опенсорса. :) Как говорят на Украине, маемо, що маемо.

Ну так они и в svn накоммитят такого, что сутками потом разгребать надо. Лучше таким прав на запись в trunk не давать, а просить присылать патчи. MQ, опять же, тут хорошо поможет - ты работаешь с патчами как с обычными ченджсетами. Чтоб никого не обижать, завести такую процедуру для всех: новый код попадает в центральный репозитарий только после ревью одним из мэнтейнеров.

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

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

"Базовые вещи" - это то, что git работает не с файлами, а контентом. Поэтому именно ПЕРЕМЕЩЕНИЕ файлов он, действительно, не отслеживает. Он отслеживает перемещение контента.

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

> Он отслеживает перемещение контента.

Он его не отслеживает, он его вычисляет.

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

> Кстати, как раз поэтому операция "add" у него и медленная.

И вовсе не поэтому. add добавляет объект в базу, что в других vcs обычно является частью операции commit. Что же вы гитстеры такие безграмонтные.

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