Альтернатива CVS

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

Имея это в виду, я ищу что-то, что имеет функции отслеживания версий и слияния файлов, где мне не нужно постоянно настраивать своего рода сервер.

Я подумал, есть ли установка, подобная CVS, в которой репозиторий — это просто общий сетевой ресурс (папка, диск и т. д.), и пользователи будут подключаться к репозиторию, извлекая свои собственные локальные копии. Любые изменения, которые будут вносить пользователи, будут существовать только в их локальных копиях до тех пор, пока они не зафиксируют свои изменения, до тех пор, пока изменения не будут отправлены в репозиторий. Если обнаруживаются какие-либо конфликты, они обрабатываются так же, как если бы это было в CVS.

Кроме того, было бы дополнительным бонусом, если бы он работал с Eclipse в качестве плагина, так как именно его сейчас использует наша команда.

ТИА


person Hatdog    schedule 26.07.2012    source источник


Ответы (5)


Git — ваш лучший друг. Распределенный, надежный и невероятно быстрый! Для интеграции с Eclipse попробуйте EGit.

person pankar    schedule 26.07.2012

К широко используемым и хорошо поддерживаемым системам контроля версий относятся Git, SVN и Mercurial. Из них я сам использовал SVN и запустил несколько репозиториев, но люди склонны говорить, что Git и Mercurial проще в использовании.

Вы можете получить подключаемый модуль SVN для eclipse, который называется subclipse.

У других, наверное, тоже есть, но я не знаю.

person Wug    schedule 26.07.2012

У SVN был слоган "CVS сделано правильно", поэтому будет довольно легко понять философию SVN после с помощью КВС.

Однако некоторые люди говорят "невозможно сделать CVS правильно" и рекомендовал бы использовать Git. Git гораздо более продвинутый и предлагает классные функции, такие как распределенный контроль версий и легкое ветвление, но процесс обучения сложнее.

P.S. Я использую Git, и я доволен этим!

person Sergey K.    schedule 26.07.2012
comment
Я не согласен с вами по поводу сложного процесса обучения. Команды Git довольно хорошо продуманы. Их имена хорошо описывают то, что они делают. - person Learath2; 27.07.2012
comment
Распределенный рабочий процесс vcs сильно отличается от локального vcs, такого как CVS. - person Sergey K.; 27.07.2012

Я не вижу веских причин, по которым вы не могли бы продолжать использовать CVS. Если у вас есть "общий сетевой ресурс", который виден так, как если бы это была обычная файловая система (пользователи могут читать, создавать и записывать файлы), вы можете просто поместить туда свой репозиторий CVS, а ваши пользователи должным образом настроят $CVSROOT. Или вы можете настроить Linux или другую Unix-подобную систему с доступом по ssh; CVS отлично работает по ssh.

Если у вас есть общий каталог, вы можете использовать CVS.

Есть много причин предпочесть другие системы CVS (лично я стал большим поклонником Git), но не похоже, что вам нужно переключаться сразу.

Мой совет: подумайте о переходе с CVS на Git, но это не срочно.

Быстрый поиск в Google показывает, что интеграция Eclipse/CVS не должна быть проблемой.

person Keith Thompson    schedule 26.07.2012

Я согласен с заявлением Кейта Томпсона относительно продолжения работы с 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