Mercurial+Bitbucket. Интро

Posted: Октябрь 19, 2010 in Интернет
Метки: , , , ,

Наконец-то, все осколки от найденных quickstart`ов плюс мысли-наблюдения сформировались в некое подобие статьи.
Итак, есть в природе такие штуки как системы контроля версий. Распределённые и централизованные (традиционные). Подробно про них расскажут всякие википедии и прочие статьи с просторов Интернета, тут напишу лишь пару фраз. Сейчас модно переходить на распределённые системы контроля версий (РСКВ), либо вообще начинать с них, тем более РСКВ точно не менее функциональны, чем централизованные, а в некоторых вещах объективно получше.
Герои этого поста: mercurial – один из представителей РСКВ и Bitbucket – free code hosting, работающий с Mercurial. К примеру, аналог связки mercurial + bitbucket это git + github.com. Особенности Mercurial – адекватная (субъективно, конечно) документация и python-based. Особенности Bitbucket – с некоторого момента неограниченное количество как приватных, так и публичных репозиториев, неограниченное место под репозиторий (раньше 2 гигабайта выделялось), openID, wiki проекта на bitbucket также может быть репозиторием. Само собой, есть и джентльменский набор в виде issue-tracker`ов и т.д. Github же более мейнстримный, но в целом, дело вкуса. Допустим я, выбирал тип РСКВ (hg или git, bazaar уж слишком редок, хотя и он кем-то используется) по веб-мордам соответствующих code hosting. Вот такой вот я не Ъ.
Bitbucket понравился больше, чем github, gitorius, google code, LaunchPad и SourceForge. Так я и пришёл к Mercurial. Тем более, Mercurial объективно не так уж и отличается от Git. К примеру многочисленные статьи вида “Почему Git рулит, а все остальное suxx”, как правило, сравнивают Git с тем же SVN. Поэтому, 99% указанных плюсов Git в таких статьях это также и плюсы Mercurial.
Изначально, РСКВ придумывались для работы с исходным кодом. Они обладают такими функциями как удобное ветвление, слияние, откат и применения ревизий, ну и backup исходников, само собой. Но разве пытливый ум это когда-то останавливало? РСКВ отлично используется, к примеру, лично мной не только для исходников, но и для хранение fb2-файлов. А на днях попробую засунуть в РСКВ raw :) Понятно, что проблем с этим тоже не будет – двоичные файлы тоже файлы, и коммиты для них тоже диффами хранятся.
Философия Mercurial, как и РСКВ в целом: все ревизии и коммиты должны сохраняться на века. Поэтому, будьте внимательны и не повторяйте моих ошибок – сразу коммит и пуш делать одним хоткеем опасно, пусть и очень удобно. Проверяйте, что идёт в коммит перед пушем, иначе nuclear launch codes попадёт в РСКВ, а вычистить с того же Bitbucket после пуша нельзя. Только из коммита в локальном репозитории. Конечно, уничтожение всего репозитория может спасти от распространения nuclear launch codes. Но, во-первых, это если вы обнаружили утечку сразу, а не через месяц, когда апдейты уже распространились по миру. Приватный репозиторий также даёт чуть больше шансов не запалиться, но… тем не менее.
P.S. Объяснение, что такое коммиты и пуши, да и quickstart mercurual + bitbucket – следующим постом.

Комментарии
  1. [...] продолжение (интро, она же первая часть тут) серии по совместному использованию РСКВ Mercurial и [...]