Страница 1 из 1

Сабж

СообщениеДобавлено: 14 янв 2009, 13:02
Соратник слонопотама
Расскажите уже кто-нибудь чего-нибудть! Для чего надо, я догадался. Как работает, какие бывают (я только про cvs слышал), какие лучше, преимущества/недостатки

Re: Сабж

СообщениеДобавлено: 14 янв 2009, 13:51
A.Sukhoy
на вики куча материала по этому поводу.
Из известных мне систем это M$ SourceSafe, SVN, Git
Сам их только использовал, как настраивать и какие там подводные камни понятия не имею
Знакомый недавно пересевший с SVN на Git в большом восторге от нее
----
Системы управления версиями для Linux
---
Немного про системы контроля версий(SVN,Git,Mercurial,Bazaar).Выбор
----
Рассказ Линуса Торвальдса о git и других системах контроля версий (YouTube) видео длится более часа, я его пока не осилил

Re: Сабж

СообщениеДобавлено: 15 янв 2009, 16:17
kluchev
Соратник слонопотама писал(а):Расскажите уже кто-нибудь чего-нибудть! Для чего надо, я догадался. Как работает, какие бывают (я только про cvs слышал), какие лучше, преимущества/недостатки


У нас на работе используется две версии: subversion и Visual Source Safe. Если хочется доступ к Subversion, отрываешь задницу от стула, проходишь до конца коридора и спрашиваешь меня или Романа. Если к SourceSafe, то не доходя до меня сворачиваешь налево и говоришь с Рустамом или Колей.

SourceSafe удобнее, если ты пользуешь вижуалку и работаешь только под Windows. Subversion кроссплатформенный, доступ к сперверу есть с любого места, где есть Интернет. Я пользуюсь subversion даже на даче, обновляю проекты через GPRS 8-)

Re: Сабж

СообщениеДобавлено: 15 янв 2009, 16:40
Соратник слонопотама
этто просто праздник какой-то (с) карабас :crazy:

Re: Сабж

СообщениеДобавлено: 17 янв 2009, 14:41
NickBorisov
мне довелось достаточно плотно познакомиться (и как пользователю, и как администратору) с cvs, svn, Perforce, git, hg.
вообще, они делятся на 2 группы по архитектуре - централизованные и распределенные. из перечисленных первые 3 - централизованные vcs, git и hg - распределенные.
у первых репозиторий централизован, и пользователи имеют локально только рабочую копию (то есть, набор файлов конкретных версий). у вторых пользователи имеют локально полную копию репозитория помимо рабочей копии. соответственно, централизованными vcs при "падении" центрального репозитория пользоваться затруднительно, либо невозможно. можно подумать, что главный минус наличия локального репозитория - размер, однако в большинстве случаев это не так (или не совсем так). например, размер данных на диске в случае среднего программного проекта для svn и hg примерно одинаков (это в первую очередь зависит от типа хранимых файлов).
в остальном все эти vcs отличаются по удобству использования - то есть, возможностями (о возможностях можно отдельно долго рассказывать), интеграцией с различными ide, другими vcs.
если говорить о личных пристрастиях, мой выбор - только распределенные, из них - hg и, возможно, bazaar.

PS то, что пишут в большинстве статей в Сети - как минимум, быстро устаревающая информация. например, hg, git и bazaar сейчас развиваются впечатляюще быстро. плюс участники действительно крупных не-OSS проектов как-то не балуют своими впечатлениями :( а у OSS - своя специфика

Re: Сабж

СообщениеДобавлено: 15 окт 2010, 16:54
sayon
Я пользуюсь svn(tortoise для винды) oколо полугода. Видимо стоит попробоваь что то другое, правда тогда придется пересадить еще десять человек :-(

Re: Сабж

СообщениеДобавлено: 18 окт 2010, 09:36
Рустам
Интеграция средства контроля версий в инструментальную среду немаловажный вопрос. Мне нравится VSS.

Re: Сабж

СообщениеДобавлено: 31 окт 2010, 10:33
AlexNickolaenkov
NickBorisov писал(а):если говорить о личных пристрастиях, мой выбор - только распределенные, из них - hg и, возможно, bazaar.


Мой выбор (со сдвигом предпочтений в стороны распределенных):
распределенные - Mercurial (hg)
централизованные - SVN.

Говорят, еще неплохое средство Araxis Merge (платное).

Re: Сабж

СообщениеДобавлено: 31 окт 2010, 22:08
User239
Гит рулез, меркуриал отстой. В последнем нельзя даже слить несколько последовательных коммитов в один (для заливки на сервер).

Re: Сабж

СообщениеДобавлено: 02 ноя 2010, 17:32
Рустам
AlexNickolaenkov писал(а):Говорят, еще неплохое средство Araxis Merge (платное).

Разве это система контроля версий? Всегда думал, что это умная сравнивалка текстовых файлов.

Re: Сабж

СообщениеДобавлено: 16 ноя 2010, 17:22
AlexNickolaenkov
Рустам писал(а):
AlexNickolaenkov писал(а):Говорят, еще неплохое средство Araxis Merge (платное).

Разве это система контроля версий? Всегда думал, что это умная сравнивалка текстовых файлов.


Это инструментальное средство, полезное при работе с СКВ.

Re: Сабж

СообщениеДобавлено: 16 ноя 2010, 17:23
AlexNickolaenkov
User239 писал(а):Гит рулез, меркуриал отстой. В последнем нельзя даже слить несколько последовательных коммитов в один (для заливки на сервер).

интересный момент. Вполне возможно это и не надо делать. Интересен юз-кейс когда это полезно.

Re: Сабж

СообщениеДобавлено: 16 ноя 2010, 19:39
NickBorisov
User239 писал(а):Гит рулез, меркуриал отстой. В последнем нельзя даже слить несколько последовательных коммитов в один (для заливки на сервер).

В целом, было бы интересно перейти от "школьного" стиля изложения точки зрения к ее аргументации. ;)
А то вдруг не все так плохо в случае с mercurial или еще какой-нибудь вещью, которая "плохая потому, что я использую другую". :)

Re: Сабж

СообщениеДобавлено: 18 ноя 2010, 15:24
User239
Ок, привожу пример. Хотим помочь нашему проекту реализацией какой-то фичи. Однако фича нетривиальная, возможно несколько путей решения, и за вечер на коленке её не наклепать. Для меня совершенно естественным желанием является продвинуться в решении поставленной задачи до некоторого этапа, после чего это дело закоммитить (ясное дело в локальный репозиторий), чтобы в случае чего можно было легко откатиться к данному состоянию. И так несколько раз, по количеству этапов. Но остальных пользователей вряд ли интересуют все эти мои промежуточные состояния, они хотели бы видеть один единственный коммит "Добавил мега-фичу".

Re: Сабж

СообщениеДобавлено: 19 ноя 2010, 01:28
Bee-master
User239 писал(а):Ок, привожу пример. Хотим помочь нашему проекту реализацией какой-то фичи. Однако фича нетривиальная, возможно несколько путей решения, и за вечер на коленке её не наклепать. Для меня совершенно естественным желанием является продвинуться в решении поставленной задачи до некоторого этапа, после чего это дело закоммитить (ясное дело в локальный репозиторий), чтобы в случае чего можно было легко откатиться к данному состоянию. И так несколько раз, по количеству этапов. Но остальных пользователей вряд ли интересуют все эти мои промежуточные состояния, они хотели бы видеть один единственный коммит "Добавил мега-фичу".

Я не силён в практическом использовании СКВ, но разве для задач типа "сохранить тот кусок кода, который я написал, чтобы он не потерялся при внезапном BSOD" не существует волшебная комбинация ctrl+s? ИМХО, СКВ и были сделаны для того, чтобы туда пихать не всё подряд, а сохранять какие-то значимые контрольные точки в процессе разработки.

Re: Сабж

СообщениеДобавлено: 19 ноя 2010, 01:48
User239
Bee-master писал(а):Я не силён в практическом использовании СКВ, но разве для задач типа "сохранить тот кусок кода, который я написал, чтобы он не потерялся при внезапном BSOD" не существует волшебная комбинация ctrl+s? ИМХО, СКВ и были сделаны для того, чтобы туда пихать не всё подряд, а сохранять какие-то значимые контрольные точки в процессе разработки.

Ты забыл об одной из основных задач СКВ "сохранить тот кусок кода, который я написал и который работал, но после которого я внезапно написал полнейшую ахинею, в которой уже сам запутался и которую лучше бы вообще не писал. Вот бы вернуть всё к моменту окончания написания того куска...". (и да, ctrl-z здесь слабо поможет :) )

Re: Сабж

СообщениеДобавлено: 19 ноя 2010, 02:04
Bee-master
User239 писал(а):
Bee-master писал(а):Я не силён в практическом использовании СКВ, но разве для задач типа "сохранить тот кусок кода, который я написал, чтобы он не потерялся при внезапном BSOD" не существует волшебная комбинация ctrl+s? ИМХО, СКВ и были сделаны для того, чтобы туда пихать не всё подряд, а сохранять какие-то значимые контрольные точки в процессе разработки.

Ты забыл об одной из основных задач СКВ "сохранить тот кусок кода, который я написал и который работал, но после которого я внезапно написал полнейшую ахинею, в которой уже сам запутался и которую лучше бы вообще не писал. Вот бы вернуть всё к моменту окончания написания того куска...". (и да, ctrl-z здесь слабо поможет :) )

Логичный вопрос: зачем коммитить полнейшую ахинею? Если ты понимаешь, что все твои излияния по конкретному вопросу более похожи на крик маленькой японской школьницы, нежели на сколь-нибудь работающий код, то вполне логично просто откатиться до того момента, когда тебе не стыдно было сделать последний коммит.

Re: Сабж

СообщениеДобавлено: 19 ноя 2010, 02:18
User239
Bee-master писал(а):Если ты понимаешь, что все твои излияния по конкретному вопросу более похожи на крик маленькой японской школьницы, нежели на сколь-нибудь работающий код, то вполне логично просто откатиться до того момента, когда тебе не стыдно было сделать последний коммит.

Совершенно верно. Не вижу проблемы.

Re: Сабж

СообщениеДобавлено: 19 ноя 2010, 14:23
NickBorisov
User239 писал(а):Ок, привожу пример. Хотим помочь нашему проекту реализацией какой-то фичи. Однако фича нетривиальная, возможно несколько путей решения, и за вечер на коленке её не наклепать. Для меня совершенно естественным желанием является продвинуться в решении поставленной задачи до некоторого этапа, после чего это дело закоммитить (ясное дело в локальный репозиторий), чтобы в случае чего можно было легко откатиться к данному состоянию. И так несколько раз, по количеству этапов. Но остальных пользователей вряд ли интересуют все эти мои промежуточные состояния, они хотели бы видеть один единственный коммит "Добавил мега-фичу".


В mercurial, например, для этого случая очень подходит механизм патчей. Всем требованиям данной задачи соответствует.
Думаю, что и в других scm аналогичные возможности есть.

Re: Сабж

СообщениеДобавлено: 25 апр 2014, 20:21
gold_dolphin
git, cvs, cvn. Последний, в свое время, здорово интегрировался с гуем через браузер с модулем trunk