Я согласен с заявлением Кейта Томпсона относительно продолжения работы с CVS, однако, основываясь на обзоре DVCS, сделанном путем фактического использования git в течение двух недель, я не могу рекомендовать git в качестве плавной замены опытным пользователям cvs, которые ищут плавный переход на DVCS с минимальными затратами. переподготовка. Перечитайте последнее предложение, обращая особое внимание на уточняющие предложения. Я ничего не говорю о способности git быть превосходным инструментом. И хотя личный опыт очень часто крайне субъективен, git никогда не «чувствовал» сразу после каких-то двух недель целенаправленного использования, чтобы изучить его как потенциальную замену CVS. В процессе опробования мне несколько раз удавалось что-то ломать (думаю, репозиторий), а некоторые вещи мне так и не удалось быстро понять.
Когда я наткнулся на стену, где git не может создавать версии каталогов, я посмотрел на Mercurial и Bazaar как на наиболее вероятных кандидатов для рассмотрения и обнаружил, что у Mercurial та же проблема, что и у git. В CVS я могу легко добавить каталог с существующими файлами, не добавляя в него файлы. git и Mercurial, похоже, ведут себя так, будто это нелепо. Меня беспокоит то, что инструмент требует, чтобы я не мог делать то, что имеет смысл в различных случаях использования. В результате я попробовал Bazaar, и было удивительно, как я чувствовал себя комфортно с ним за считанные минуты. После двух недель с git я так и не сделал этого. Мой git-репозиторий преобразовался в Bazaar за считанные минуты, и я освоился с ним менее чем за час.
В настоящее время я все еще использую CVS, и хотя я обязался использовать Bazaar, я испытывал раздражение в крайних случаях, когда я использовал Bazaar в приложениях, которые обычно не являются проблемами при разработке программного обеспечения. Тем не менее, как парень, который, скорее всего, будет обучать группу сотрудников CVS альтернативной VCS, я твердо верю, что Bazaar потребует наименьшего переобучения. Практически тривиально использовать Bazaar в рабочем процессе, тесно связанном с рабочим процессом CVS. Парни, с которыми я работаю, не получают удовольствия от контроля версий. Им нужно что-то ненавязчивое и легкое в освоении. Я знаю, что они не будут максимально использовать VCS, если кривая обучения покажется им хоть немного пугающей.
Немаловажным при выборе Bazaar является то, что он легко работает в Windows и хорошо интегрируется со средой MinGW MSYS. Интегрированный установщик Windows очень подходит для среды, где требуется свести к минимуму усилия по настройке рабочих станций унифицированным образом, особенно когда одним пользователям нужны инструменты командной строки, а другим - графические инструменты.
Выбор СВУ часто подогревается всевозможными предубеждениями. Я начал искать DVCS, не предвзято относясь к какому-либо конкретному инструменту. Я считаю, что git по своей сути предвзят. Он был разработан с острой ненавистью к CVS (см. отношение автора к CVS) и вещам CVS вроде $Id: $. Bazaar утверждает, что старается избегать предубеждений в отношении различных рабочих процессов и, похоже, избегает выступать против вещей, которые разработчики ценят при конкретном использовании других систем контроля версий. Это, по общему признанию, субъективное утверждение, но мой опыт работы с Bazaar, кажется, указывает на то, что это правда.
Bazaar не дает всего, что я хочу. Например, меня не устраивает, что он не поддерживает частичные проверки. Это удивительно легко сделать в CVS. Меня раздражает, что операции Bazaar полностью терпят неудачу из-за проблем с доступом к файлам, когда выполняется действие с одним файлом в группе файлов, но обычно этого не должно происходить в типичных случаях использования при разработке программного обеспечения. Я пытаюсь сказать, что я не без ума от Bazaar, но я по-прежнему считаю его самым простым инструментом для перехода от CVS в небольшом инженерном отделе.
В качестве сноски: много лет назад присоединился к команде разработчиков открытого исходного кода SVN с явной целью освоиться с CVS-подобной, улучшенной системой контроля версий. Я много работал с SVN и даже настраивал частичные проверки и т. д., но я не согласен с тем, что SVN - это "CVS, сделанный правильно". После многих лет использования я не могу ответственно выбрать SVN в качестве преемника CVS в моей организации по ряду причин. Он меняет один набор вопросов на другой. Хотя это верно практически для любого инструмента, преимущества SVN, похоже, не перевешивают проблемы при рассмотрении затрат на переход.
person
kbulgrien
schedule
23.08.2012