Pull to refresh

tip: цветной hg diff

Website development *
feat. habrahabr.ru/blogs/development/53736 :)

Основной инструмент — тот же colordiff.

В ~/.hgrc домашнего каталога или в .hg/hgrc проекта вписываем:
[defaults]
cdiff = -q

[extdiff]
cmd.cdiff = colordiff
opts.cdiff = -uprN


И опаньки. Наряду с привычным «hg diff» получаем команду «hg cdiff», которая и выдаёт красивый и наглядный список изменений.
Total votes 6: ↑4 and ↓2 +2
Views 2K
Comments 1

Python переводится на Mercurial

Lumber room
Сегодня Гвидо ван Россум принял решение о переводе Python c SVN на Mercurial. Ожидается, что замена VCS на DVCS завершиться к лету.

Гвидо, как и многим другим программистам, очевидны преимущества DVCS. Поэтому кандидатами стали Git, Bazaar и Mercurial.

От Git отказались первым. Дело в том, что эта система, несмотря на множество пользователей, вызывает у некоторых разработчиков сильные антипатии. Кстати, Git написан на C и используется для управления разработкой ядра Linux. Две оставшиеся DVCS реализованы на питоне.

Mercurial показал более высокую производительность и оказался субъективно более простым для пользователей SVN. Также он значительно более популярен у разработчиков Python, за исключением, правда, сотрудников Canonical.

P.S. Неплохой цикл статей о Mercurial для заинтересовавшихся: введение, основы и расширения.
Total votes 26: ↑24 and ↓2 +22
Views 657
Comments 9

DVCS and DAGs

Website development *
Translation
Перевод статьи Эрика Синка (Eric Sink) — DVCS and DAGs (Part 1 and Part 2).

Прим. переводчика: В этой статье я буду ис­поль­зо­вать ори­гиналь­ные анг­ло­языч­ные сокращения DVCS и DAG для обозначения расп­ре­делён­ных систем контроля версий (Distributed Version Control System — DVCS) и нап­равлен­ных ацикличных графов (Directed Acyclic Graph — DAG).
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 4.6K
Comments 18

В Google Code добавлена поддержка Mercurial

Version control systems *
Как сообщает Google Code Blog, в скором времени хостинг для опенсорсных проектов от гугла будет поддерживать Mercurial наряду с Subversion для контроля версий.

Разработчики тщательно выбирали между разными распределенными системами, и в конце концов остановили выбор именно на mercurial, а процессу выбора между mercurial и git посвящен этот интересный документ. Mercurial победил в «конкурсе», поскольку:
  • он лучше интегрировался в инфраструктуру гугла: меньше сложностей с хранением данных, проще и «чище» HTTP интерфейс;
  • удобнее для windows-пользователей ( официальный windows-порт git использует cygwin);
  • кривая обучения менее, гм, кривая.


Гуглоразработчикам пришлось частично переписать mercurial, вместо стандартного дискового хранилища у них используется BigTable.
Total votes 49: ↑47 and ↓2 +45
Views 1.4K
Comments 48

Разворачиваем сервер git на Mac OS X Leopard

Lumber room
Данный топик это некоторая компиляция из руководства по установке gitosis на Ubuntu Server и Leopard, плюс акценты от меня на некоторые места в которых могут возникнуть проблемы.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 2.8K
Comments 4

UTP — Технический Подкаст от Umputun, Выпуск 1

Lumber room
Переход на распределенные системы контроля версий, часть 1

— с какой целью и для кого
— ограничения разговорного жанра
— зачем переходить на распределенные системы
— 9 радостей перехода
— Проблемы тоже есть, о них в части #2

* Linus Torvalds on git (видео)
* Линус Торвальдс о GIT, видеоперевод 8 частей (спасибо Vadikus)

подкаст живет на utp.umputun.com
Total votes 96: ↑83 and ↓13 +70
Views 469
Comments 14

ХХ полезных советов для пользователей Git среднего уровня. Часть 1

Git *
Вообще-то изначально я планировал перевести статью Энди Джеффриса (Andy Jeffries) 25 Tips for Intermediate Git Users, но в процессе я отбросил бестолковые, общеизвестные или самые простые советы вроде «настройте первым делом user.name и user.email», которые явно не подходят людям, уже более-менее плотно знакомым с Git.
Взамен я дополню статью моментами из личной практики («Своя практика»! Звучит здорово, будто я частный врач или адвокат! :-] )

Читать дальше →
Total votes 75: ↑70 and ↓5 +65
Views 25K
Comments 32

ХХ полезных советов для пользователей Git среднего уровня. Часть 2

Git *
Это продолжение статьи ХХ полезных советов для пользователей Git среднего уровня

Про reset, незапланированно снова про альясы, про замечательный filter-branch, про мерджи и разрешение конфликтов с помощью rerere, про rebase (интерактивный и не очень) и, в завершение, про обслуживание своей гитницы.

Читать дальше →
Total votes 38: ↑32 and ↓6 +26
Views 23K
Comments 35

GIT, HG и прочие DVCS vs VSS, SVN и прочих SVCS: в первых деревья ортогональны, во вторых — смешаны!

Version control systems *
imageКажись, я просёк то, что нигде никто явно не пытается писать — а мне без этого как-то непонятно было. У меня довольно большой опыт работы в VSS и некий опыт присматривания к SVN. А сейчас вот и к GIT-ам всяким присматриваюсь.

На страничке mercurial.selenic.com/wiki/UnderstandingMercurial в конце сказано, что если вы думаете держать в одном репозитории HG несколько родственных проектов, как привыкли в системах типа SVN, то лучше одумайтесь, ибо HG на это не рассчитан. Похоже это потому, что он всегда работает со всей рабочей папкой в целом.

Это хороший пример следствия из того, о чём я хочу сказать: у этих новомодных распределённых систем понятие дерево каталогов и файлов в рабочей папке ортогонально дереву её версий. Это есть второе (после наличия локального репозитория) ключевое отличие этих систем от предыдущих.

Читать дальше →
Total votes 11: ↑2 and ↓9 -7
Views 3.2K
Comments 23

Hg Init: Часть 2. Основы Mercurial

Version control systems *
Translation
Это вторая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Возможно, вы захотите прочитать и первую часть «Переобучение для пользователей Subversion».

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

Часть 2. Основы Mercurial



Mercurial — это система контроля версий. Разработчики используют ее для администрирования исходного кода. У нее два основных назначения:
  1. Она хранит все предыдущие версии каждого файла
  2. Она может объединить разные версии вашего кода, то есть сотрудники могут независимо работать над кодом и затем объединять свои изменения


Читать дальше →
Total votes 72: ↑69 and ↓3 +66
Views 224K
Comments 66

Hg Init: Часть 3. Привыкаем работать в команде

Version control systems *
Translation
Это третья часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Одно из преимуществ использования Mercurial — возможность работать командой над одним кодом. Mercurial позволяет каждому работать независимо и помогает объединять сделанные изменения.

Часть 3. Привыкаем работать в команде




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

Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Views 109K
Comments 46

Hg Init: Часть 4. Исправляем ошибки

Version control systems *
Translation
Это четвертая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Одно из главных преимуществ Mercurial состоит в том, что вы можете использовать личные клоны репозитория для экспериментов и разработки новых возможностей. Если что-то пошло не так, можно все исправить за мгновение.

Часть 4. Исправляем ошибки




Mercurial позволяет свободно экспериментировать. Представьте, что во время работы вы что-то не то сделали в редакторе, и случилось нечто ужасное:

Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Views 71K
Comments 36

Hg Init: Часть 5. Процесс слияния

Version control systems *
Translation
Это пятая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Иногда при слияниях возникают конфликты. Обычно их легко разрешить. В любом случае их надо разрешить, или у вас будет несколько «голов». А кому это нужно?

Часть 5. Процесс слияния




Обеспечение слаженной работы нескольких людей над одним и тем же кодом — это важная функция системы контроля версий.

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

Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Views 40K
Comments 21

Hg Init: Часть 6. Архитектура репозиториев

Version control systems *
Translation
Это шестая, заключительная часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:



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

Часть 6. Архитектура репозиториев



Наш рецепт становится все лучше:

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Views 29K
Comments 17

4 способа развернуть собственный аналог Dropbox

Cloud computing *
Translation
storage


Хотите получить облачное хранилище, но при этом иметь больше контроля над вашим сервисом, чем вы могли бы получить от Dropbox и его конкурентов? Здесь представлены несколько способов, чтобы создать ваше собственное хранилище в стиле Dropbox.
Читать дальше →
Total votes 68: ↑62 and ↓6 +56
Views 57K
Comments 48

Ещё раз о «Mercurial против Git» (с картинками)

Git *Version control systems *Mercurial *
Translation
Некоторое время назад я опубликовал очень многословное сочинение, где пытался объяснить, почему Git серьёзно поломан, и почему всем следует вместо этого пользоваться Mercurial, до тех пор, пока разработчки Git его не починят. Ну ладно, я был не настолько груб, но близок к этому.

Народ на Reddit жаловался, что мой технический язык слишком путанный, особенно потому что я придумывал новую терминологию в попытках доказательства своих положений. Они потребовали графы, с узлами, рёбрами, кружочками, стрелочками и всем прочим. Тогда я промучал графический редактор несколько часов и получил два графа, приведённые ниже, которыми я надеюсь обрисовать проблему.

Ниже я нарисовал упрощёный граф истории репозитория Git с тремя созданными ветками: «master», «release» и «topic». До того, как энтузиасты Git начнут ругаться, что я исхитрился показать нереально плохой случай запутанности истории, позвольте мне заверить вас, что это на самом деле ещё упрощённый пример. У меня есть доступ к реальному репозиторию Git, где создано шесть рабочих веток релизов, около сорока рабочих тематических веток и несколько сотен ранее существовавших веток, которые уже удалены с центрального сервера.
Читать дальше →
Total votes 103: ↑87 and ↓16 +71
Views 59K
Comments 130