воскресенье, 27 декабря 2009 г.

Сравнение систем контроля версий (юмор из RSDN)

ClearCase

Классный такой туалет. Есть биде, писсуары, толчки, рукомойники, одноразовые полотенца, все чистенько, светло, уютно. Регулярно убирается, поддерживается в тепле и чистоте. Рассчитан на очень большое кол-во пользователей. Пользоваться таким туалетом приятно, несмотря на то, что туалет платный. Платность туалета выражается не только в использовании, но и в саппорте — требует достаточно много регулярных вложений на поддержание текущего оборудования, канализации, света и прочего в порядке.
В новых версиях говно извлекается из задницы автоматизированно — вакуумным насосом (иногда вместе с кишкой), изменить алгоритм посещения (например, помыть руки перед кабинкой) нельзя, задержаться поболтать тоже нельзя, а перед посещением надо породить problem case "захотелось в толчок". Каждая порция вторичного продукта заворачивается в свой отдельный пакетик с timestamp'ом посещения.
Подключается к общей канализационной системе.

CVS

Туалет типа "сортир". Обычный такой деревенский сортир на одну-две персоны. В конструкции прост — дыра и стенки вокруг. Но сделано на совесть — доски свежие, плотно подогнанные друг к другу, гумном почти не пахнет, щелей нет, внутри тесно, но все же довольно уютно и относительно чисто. Пользоваться не противно, особенно учитывая, что туалет бесплатен. Для личного домика гораздо более разумный вариант, чем воздвигать рядом с домом аналогичных размеров здание под туалет класса "clearcase", да еще и за деньги. Саппорт cvs-туалета также дешев — время от времени поменять прохудившуюся доску, да яму почистить изредка. Туалетной бумаги нет.

CVSNT

Тот же cvs-туалет, но с щеколдой на двери. Разница в сравнении с cvs'ом чувствуется только, когда туалетом пользуются больше одного человека.

Subversion

Попытка исправить недостатки cvs-туалета. Почти получилось, но есть ньюансы. С одной стороны — появилась возможность смывать гумно; с другой стороны – сделать это можно, только погадив несколько раз. С одной стороны – появился стульчак; с другой стороны – его нельзя просто взять и опустить, вместо этого каждый раз требуется продолжительная возьня с отверткой для того, чтобы его примонтировать. Ну а освежитель воздуха, намертво приколоченный к потолку – это вообще уже ни в какие ворота...

Perforce

Попытка построить один subversion-туалет на всю деревню. В результате он ничем не отличается от subversion, кроме:
— гадить могут несколько человек одновременно,
— гумно вывозится не сразу на свалку, а сначала складируется неподалеку на краю деревни,
— есть намек на туалетную бумагу, но на поверку это оказывается газетой “Красные зори” за 1967 год, которую к тому же нельзя использовать, предварительно не помяв. Как результат появления дорогостоящих нововведений, туалет платный. Есть и бесплатная версия, но только на двух пользователей одновременно.

RCS

Тупо дыра в земле. Является прародителем CVS-туалетов. Одновременное использование исключено полностью. Более того, если при использовании предварительно не заблокировать доступ к туалету (например, взяв в руки лопату фирмы “Lock”), то есть шанс, что другой пользователь вас не заметит и нагадит сверху.

SourceSafe

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

Mercurial, Bazaar

У каждого пользователя свой ночной горшок, которым он может пользоваться по своему усмотрению. Горшок весьма качественный и удобный в использовании. Пользователи сами могут между собой договорится о механизмах взаимодействия. Например, все могут сливать по очереди содержимое своих горшков в один общий горшок, или можно организоваться в цепочку. В качестве механизма доставки содержимого может использовать любой вид канализации, вплоть до доставки по почте. Предусмотрена так же возможность разделить содержимое своего горшка на порции, и отправить разные порции по разному назначению. Если в один горшок содержимое не помещается, стандартная рекомендация заключается в том, чтобы завести несколько горшков. С помощью внешних модулей приобретает любою дополнительную функциональность, вплоть до сортировки содержимого по цвету и запаху.

Git

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

darcs

То же самое, что Mercurial, Bazaar, но спроектировано физиком-теоретиком на основе так называемой теории испражнений.

Примечания:
  • стульчак = контроль версий директорий;
  • туалетная бумага = config specs;
  • склад на краю деревни = прокси-сервер перфорса;
  • канализация = синхронизация.
Взял вот отсюда.