Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Какую систему контроля версий выбрать?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Управление проектами
Гвоздик
Здравствуйте. Над проектом работает несколько человек, требуется версионный контроль. Какую систему посоветуете? Попробовал CVS - там дерево версий ослом смотреть только можно (в Rational ClearCase можно сразу смотреть отличия между версиями и еще много чего). Microsoft SourceSafe не позволяет работать над одним файлом одновременно нескольким разработчикам - это нас не устраивает. Какую систему вы используете и почему? Спасибо
lib
У нас в универе была CVS, все довольны.
А вообще тема не для этой ветки.
IgorKossak
Здесь весьма подробное обсуждение.
spf
Цитата(lib @ Sep 6 2006, 15:59) *
У нас в универе была CVS, все довольны.

По поводу "довольны". Практика моего общения показывает что обычно такое бывает если его пользовали не в полный рост (не коллективом, без веток и т.п. т.д.) или не интересовались что происходит в этом направлении в мире ...
ИМХО: CVS - пережиток прошлого...
Edmundo
Цитата(Гвоздик @ Sep 6 2006, 13:29) *
Здравствуйте. Над проектом работает несколько человек, требуется версионный контроль. Какую систему посоветуете? Попробовал CVS - там дерево версий ослом смотреть только можно (в Rational ClearCase можно сразу смотреть отличия между версиями и еще много чего). Microsoft SourceSafe не позволяет работать над одним файлом одновременно нескольким разработчикам - это нас не устраивает. Какую систему вы используете и почему? Спасибо

Пробовали SourceSafe 6 и Borland StarTeam 2005.
Недостатки SourceSafe: невозможность работы вне локальной сети, немного анахроничный интерфейс.
В StarTeam порадовало наличие множества фич (типа списка багов и багфиксов) и то, что сервер может быть удаленным. И в StarTeam можно работать над одним файлом несколькими разработчиками одновременно.
lib
2спф: вполне правдоподобное замечание smile.gif
serj_obninsk
Subversion Вас спасёт! wink.gif
kamedi_clab
Мне очень нравится в KEIL.

Цитата(serj_obninsk @ Oct 4 2006, 17:17) *
Subversion Вас спасёт! wink.gif


Вот он-лайн книжка по ней. Почитаю.
http://svnbook.red-bean.com/
spf
Цитата(kamedi_clab @ Oct 5 2006, 15:38) *
Мне очень нравится в KEIL.
Цитата(serj_obninsk @ Oct 4 2006, 17:17) *

Subversion Вас спасёт! wink.gif
Вот он-лайн книжка по ней. Почитаю.
http://svnbook.red-bean.com/

Похоже kamedi_clab и serj_obninsk очки пытаются заработать wink.gif
Все это сказано по ссылке в третьем посте текущей темы.
CaPpuCcino
пробовал задать этот вопрос в топике с голосованием по средствам контроля версий, но злобный ёж отфутболил меня сюда. покопался в постах - понял что всякие SVN, CVS и прочие трёхбуквенные программы рулят.
но проблема в том что я не юниксоидный человек и организовывать серверы, прописывать батники, ставить Питоны с выбором опций не для меня. мне всего лишь нужно чтобы мои исходники не затирались вновь написаным кодом у меня на домашнем компьютере и чтобы установка данного програмного продукта выполнялось простой интерактивной инсталяшкой из под Виндовз (до этого пробовал ставить и ЧерепахуSVN и какую-то приблуду поставляемую с Менторовским ХДЛ-Дезайнером - но безрезультатно - потому как мне без пол литра в их примудростях процедуры установок не разобраться)
посоветуйте, плз, какую-нибудь програмку свободнораспространяемую и с дружественным интерфейсом установщика для домашнего компьютера
спасибо
jorikdima
Что может быть премудрого в ЧерепахеСВН???? Я тоже Линух только на картинках видел и до этого никакой системой контроля версий не пользовался да и не знал про них, но проблемм не возникло.
CaPpuCcino
Цитата(jorikdima @ Jun 26 2007, 23:33) *
Что может быть премудрого в ЧерепахеСВН????

в установке СВН сервера - куча каких-то конфигурационных файлов набиваемых ручками, вместо удобных чекбоксов и выпадающих списков окошек инсталяшки. ну это то ещё ладно - у них же ещё и описание процесса нисталяции размазан на целую книгу - в общем не для слабонервных (типа меня)
des00
Цитата(CaPpuCcino @ Jun 26 2007, 15:34) *
в установке СВН сервера - куча каких-то конфигурационных файлов набиваемых ручками, вместо удобных чекбоксов и выпадающих списков окошек инсталяшки. ну это то ещё ладно - у них же ещё и описание процесса нисталяции размазан на целую книгу - в общем не для слабонервных (типа меня)


Не верю (с) Станиславский !!!

Скажу честно я полный чайник в SVN т CVS, но основы черепахи освоил за час. Немного позырил хелп и задал пару вопросов умным людям по SVN.

Репозитарий с помошью черепахи создаеться почти на автомате как локальный так и сетевой.
Создаем пустой проект, импоритируем его в любое место и добавляем файл с меткой добавить в SVN и Comit. Все. Ну и ExamDiff рулит!!

Ну и потом потренироваться на левом проекте с устранением колизий при внесении изменений в разными разработчиками. (также можно на локальной машине).

Минусы черепхи - сильная интеграция с эксплорером (например у меня file delete работал как SVN delete !!!! )

Ничего сложно. Скрипты нужны в не GUI евых клиентах SVN smile.gif))
spf
Цитата(CaPpuCcino @ Jun 27 2007, 01:16) *
посоветуйте, плз, какую-нибудь програмку свободнораспространяемую и с дружественным интерфейсом установщика для домашнего компьютера

из систем ведения версий нет ничего дружественнее subversion (на текущий момент). Но имеется пара тонкостей :
-- доку читать обязатель, не урывками и хотя бы переведённые на русский разделы, после прочтения должна появиться ясность что, как и главное ЗАЧЕМ делать.
-- само ничего не делается, даже если это и просто.

Без понимания сути и простое будет сложнее сложного.

PS: Если что-то не получается, то надо обязательно сформулровать вопрос, а не писать что "фсе плохо". Иногда решение будет найдено во время формулирования.
При хорошем вопросе больше вероятность получить хороший ответ.

PS2: я не злобный, я ещё только учусь wink.gif



Цитата(CaPpuCcino @ Jun 27 2007, 02:34) *
в установке СВН сервера - куча каких-то конфигурационных файлов набиваемых ручками

В локальном варианте никакого сервера не требуется, нужно всего лишь создать репозиторий.
Ума не приложу о каких набиваемых файлах идет речь.
Andreas1
Цитата(CaPpuCcino @ Jun 26 2007, 22:16) *
но проблема в том что я не юниксоидный человек и организовывать серверы, прописывать батники, ставить Питоны с выбором опций не для меня. мне всего лишь нужно чтобы мои исходники не затирались вновь написаным кодом у меня на домашнем компьютере и чтобы установка данного програмного продукта выполнялось простой интерактивной инсталяшкой из под Виндовз (до этого пробовал ставить и ЧерепахуSVN и какую-то приблуду поставляемую с Менторовским ХДЛ-Дезайнером - но безрезультатно - потому как мне без пол литра в их примудростях процедуры установок не разобраться)

ИМХО, там не разобраться можно только после поллитры smile.gif
Мне хватило
http://www.promsoft.ru/index.php?action=to...mp;menu_id=1089
для установки на сервер выня3003 и черепахи на XP.
А конфиги стал править, только когда настраивал доступ через инет(по простейшему варианту). Что не понял и не нашел - это svn+ssh, ну и ладно, особой паранойей не страдаю.
Кста, хорошо откомментаренные конфиги мне понравились больше частенько невнятных чекбоксов. И переведенная дока весьма хороша для любой системы контроля версий и неплохо написана.
PS C пингвинами тоже пока дело имел только в зоопарке, но присматриваюсь smile.gif
spf
Цитата(Andreas1 @ Jun 27 2007, 11:36) *
Что не понял и не нашел - это svn+ssh, ну и ладно, особой паранойей не страдаю.

под дружественной к ssh операционной системой все просто.

что требовалось-то?
Andreas1
Цитата(spf @ Jun 27 2007, 09:05) *
под дружественной к ssh операционной системой все просто.
что требовалось-то?

Я уже спрашивал 01.gif
Загруженный сервер под win2003(не до экспериментов, нужно рабочее и без глюков) и дома/на работе -XP. Для линукса инфы море...
Николай Z
Цитата(spf @ Sep 6 2006, 15:08) *
По поводу "довольны". Практика моего общения показывает что обычно такое бывает если его пользовали не в полный рост (не коллективом, без веток и т.п. т.д.) или не интересовались что происходит в этом направлении в мире ...
ИМХО: CVS - пережиток прошлого...


интересно - с чего это вдруг такое имхо сложилось? можно пару слов на эту тему?
spf
Цитата(Николай Z @ Oct 13 2007, 13:26) *
интересно - с чего это вдруг такое имхо сложилось? можно пару слов на эту тему?

На этот счет уже не раз высказывался, можно посмотреть в обзорах, там есть опрос про системы ведения версий.
COMA
Посмотрите в сторону trac - http://trac.edgewall.org/
Достаточно удобная штука. Интегрирует в себя три вещи:
1. SVN
2. Wiki
3. Багтрекинг.

Ставиться достаточно просто.
Николай Z
Цитата(spf @ Oct 13 2007, 16:45) *
На этот счет уже не раз высказывался, можно посмотреть в обзорах, там есть опрос про системы ведения версий.


Ссылочки на ваши высказывания - дадите?
А то я что-то ничего путного не нашел...
yes
контроль версий штука тонкая smile.gif , пока работает - лучше не трогать
и разницы между SVN и CVS вобщем-то не много (на мой взгляд)

но хочется (вернее кажется, что возникла необходимость) перейти для следующих проектов на более серъезную систему - пацаны рекомендовали GIT, BAZAAR или Mercurial

git благодаря линуху будет развиваться со страшной силой,
BAZAAR вроде как имеет поддержку всяких плагинов (типа может diff вордовским файлам делать и можно самому плагины писать)
Mercurial вроде в винду интегрирован хорошо (если не путаю с BAZAAR)

кто-нибудь юзает такие системы?

http://en.wikipedia.org/wiki/List_of_revis...ontrol_software
dxp
Цитата(yes @ Oct 22 2007, 21:45) *
и разницы между SVN и CVS вобщем-то не много (на мой взгляд)

И все-таки различия значительны. В пользу SVN.


Цитата(yes @ Oct 22 2007, 21:45) *
но хочется (вернее кажется, что возникла необходимость) перейти для следующих проектов на более серъезную систему - пацаны рекомендовали GIT, BAZAAR или Mercurial

Не знал, что CVS и SVN несерьезные системы. smile.gif

Цитата(yes @ Oct 22 2007, 21:45) *
git благодаря линуху будет развиваться со страшной силой,
BAZAAR вроде как имеет поддержку всяких плагинов (типа может diff вордовским файлам делать и можно самому плагины писать)
Mercurial вроде в винду интегрирован хорошо (если не путаю с BAZAAR)

У BAZAAR основное преимущество (как она позиционируется) - это распределенный репозиторий. Про BAZAAR может в деталях поведать bialix (он является одним из ее девелоперов smile.gif). Сюда он, правда, давно уже что-то не заглядывает, но в песках, вроде, регулярно появляется.

Про остальные даже не слышал. Насчет распростаненности и "страшной силы" имеется некое сомнение - например, существующие open-source ресурсы, такие как SourceForge используют именно CVS и SVN. И пока не слышно, чтобы речь шла о чем-то другом. А проекты там есть очень даже серьезные (это к вопросу о серьезности системы).
spf
Цитата(yes @ Oct 22 2007, 20:45) *
и разницы между SVN и CVS вобщем-то не много (на мой взгляд)

Самая основная разница в том, что CVS -- тупик, а Subversion живая, развивающаяся система.

Цитата
но хочется (вернее кажется, что возникла необходимость) перейти для следующих проектов на более серъезную систему - пацаны рекомендовали GIT, BAZAAR или Mercurial

Для этого надо сформулировать список того, что не устраивает в текущий момент и что же необходимо на самом деле. Без этого можно долго и упорно все пробовать и слушать чьи-то высказывания о предпочтениях.
yes
Цитата(spf @ Oct 23 2007, 10:25) *
Для этого надо сформулировать список того, что не устраивает в текущий момент и что же необходимо


может глупая идея (или я просто не знаю как сделать в CVS) - мне не хватает смены бранчей : главного (транка) с какой либо из веток и наоборот

реально в разработке АЗИКа только один бранч (транк) и только один релиз (ревизий мы не делаем, а ECO как-то тяжко в CVS держать)
получается не дерево версий, а бамбук smile.gif

но есть типо заказчики (это коллеги из соседней комнаты, поэтому ТЗ не формализуется) - например, делали интерфейс под одну память, потом под другую, потом вернуть первый второй убрать и т.п

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

это можно решить бранчами, но большинство коллег (особенно ответственных smile.gif ) про бранчи знать ничего не хотят - хотят брать из транка последнюю версию

-------------

ну а умное - есть тестеры, которые гоняют на FPGA тесты, им надо слегка свои версии,
есть "студенты", которые хдл тестируют, но в репозитарий им класть ничего нельзя (такого наложат smile.gif )
но когда они находят ошибку - правят свои локальные копии - потом это сливать в транк
и RTL хотелось бы разбить по правам

опять же CVS имеет большую проблему с правами доступа - то есть тем же студентам разрешить только тесты, а RTL низя

за время этого проекта, тем не менее, 2 раза CVS валили - известная проблема с импортом - то есть если импорт сделать в репазитарий наступает жопа - а в виндовом клиенте ИМПОРТ такая здоровенная кнопка, которую каждый нажмет

-------------

опять же здоровенными файлами обрастаем к концу проекта - SDF-ы на пару ГБ, нетлисты на сотни МБ
это все очень тормозит...
вобщем мы их не кладем в CVS, но есть правки (учитывая, что back-end делает сторонняя фирма - для них это сорцы)

-------------

с распределенными репозиториями кажется было бы так
свой репозиторий у FPGA-шников, свой у тестеров и т.д.
ну и главный для сборки нетлиста

периодически их синхронизировать... вроде так

но не будет ли здесь больше геммороя? вроде как эти системы именно для такого...

=======

вот блин накатал...
но тема контроля версий не моя (раньше цвс всегда хватало и не интересовался), но бардак, который имеет место в настоящем проекте - расстраивает

Цитата(dxp @ Oct 23 2007, 07:14) *
И все-таки различия значительны. В пользу SVN.
Не знал, что CVS и SVN несерьезные системы. smile.gif
У BAZAAR основное преимущество (как она позиционируется) - это распределенный репозиторий. Про BAZAAR может в деталях поведать bialix (он является одним из ее девелоперов smile.gif). Сюда он, правда, давно уже что-то не заглядывает, но в песках, вроде, регулярно появляется.

Про остальные даже не слышал. Насчет распростаненности и "страшной силы" имеется некое сомнение - например, существующие open-source ресурсы, такие как SourceForge используют именно CVS и SVN. И пока не слышно, чтобы речь шла о чем-то другом. А проекты там есть очень даже серьезные (это к вопросу о серьезности системы).


распределенные репозитарии у всех этих систем...
GIT - ядро линуха, то есть реклама немерянная

а не переходят с CVS и SVN - ну это же должен кто-то разобраться настроить... то есть однозначно не из-за плюсов

я на практике с SVN дела не имел (не поддерживал репозиторий и не клал в него), почитал какое-то сравнение фич (за SVN, в том смысле, что авторы старались показать что SVN лучше) не увидел принципиальных плюсов

UPD: почитал здесь про SVN - ну понятнее стало, чем лучше CVS (switch есть)... но принципиально то же самое
Doka
Цитата(yes @ Nov 3 2007, 02:18) *
есть "студенты", которые хдл тестируют, но в репозитарий им класть ничего нельзя (такого наложат)
но когда они находят ошибку - правят свои локальные копии - потом это сливать в транк
и RTL хотелось бы разбить по правам

опять же CVS имеет большую проблему с правами доступа - то есть тем же студентам разрешить только тесты, а RTL низя
цитата:
Существуют различные стратегии фиксации изменений. Обычно выделяют некоторую группу ведущих разработчиков, которые вносят изменения непосредственно в рабочий репозиторий, и часть разработчиков с ограниченными правами доступа. Для фиксации изменений такими разработчиками подготавливаются “патчи” изменений, которые проверяются ведущими разработчиками и вносятся в репозиторий. Для работы с “патчами” служат команды “Create patch” и “Apply Patch”. Патчи могут создаваться как обычные текстовые файлы и пересылаться по почте или прикрепляться как вложения к задачам в системе управления проектами.

Цитата(yes @ Nov 3 2007, 02:18) *
GIT - ядро линуха, то есть реклама немерянная

а не переходят с CVS и SVN - ну это же должен кто-то разобраться настроить... то есть однозначно не из-за плюсов

конечно то, что сам Линус Торвальдс курирует проект GIT, не пустой звук,
однако и SVN в не менее серьезных проектах используется, в числе которых: KDE, GNOME, GCC, Python, Mono..
Николай Z
Цитата(yes @ Nov 3 2007, 02:18) *
может глупая идея (или я просто не знаю как сделать в CVS) - мне не хватает смены бранчей : главного (транка) с какой либо из веток и наоборот

реально в разработке АЗИКа только один бранч (транк) и только один релиз (ревизий мы не делаем, а ECO как-то тяжко в CVS держать)
получается не дерево версий, а бамбук smile.gif

....
UPD: почитал здесь про SVN - ну понятнее стало, чем лучше CVS (switch есть)... но принципиально то же самое


А Вам никогда не приходило в голову, что вы пытаетесь просто уже вести сразу два разных проекта, которые растут из одного корня?

И что все системы и даже CVS - это позволяет делать?

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

Ну и простите - а кто Вам не дает это сделать в CVS? Это вообще в любой системе делается - просто требует меньши или больших затрат на поддержку...
WiseAlex
здесь достаточно неплохое сравнение систем
вроде ссылка не пробегала
Руководство по установке Trac под Windows
Siarhei Berdachuk
Цитата(Doka @ Nov 25 2007, 12:53) *
цитата:
Существуют различные стратегии фиксации изменений. Обычно выделяют некоторую группу ведущих разработчиков, которые вносят изменения непосредственно в рабочий репозиторий, и часть разработчиков с ограниченными правами доступа. Для фиксации изменений такими разработчиками подготавливаются “патчи” изменений, которые проверяются ведущими разработчиками и вносятся в репозиторий. Для работы с “патчами” служат команды “Create patch” и “Apply Patch”. Патчи могут создаваться как обычные текстовые файлы и пересылаться по почте или прикрепляться как вложения к задачам в системе управления проектами.

Господа, когда цитируем чужие мысли принято указывать источник цитирования.
Использование Subversion для командной разработки
Спасибо,
nogapok
Советую выбрать Perforce.
Просто настраивается и в отличии от многих других поддерживает атомарные коммиты.
В отличии от СВН и ЦВС не имеет глюка с частичной заливкой, так что вручную отковыривать часть сабмита не прийдется.
Поддерживает настоящие(!!!) атомарные коммиты,
также имеет набор утилит(как и все нормальные цвсы).

Пользуюсь 2.5 года перфорсом.
до этого были и цвсы-свны (более 5 лет).

Прикручивается к шелу (кому надо), имеет пару привязок к модным кодерским системам (ВС, Эклипс).
Советую использовать без привзяки к апликухе на которой разрабатывается прокт.
dxp
Цитата(nogapok @ Jan 9 2008, 14:43) *
Советую выбрать Perforce.
Просто настраивается и в отличии от многих других поддерживает атомарные коммиты.
В отличии от СВН и ЦВС не имеет глюка с частичной заливкой, так что вручную отковыривать часть сабмита не прийдется.
Поддерживает настоящие(!!!) атомарные коммиты,
также имеет набор утилит(как и все нормальные цвсы).

Можно подробностей насчет проблем с атомарными комитами в Subversion?
Doka
>> Просто настраивается и в отличии от многих других поддерживает атомарные коммиты.

и действительно странно: http://en.wikipedia.org/wiki/Comparison_of...ftware#Features

???
nogapok
Цитата(Doka @ Jan 9 2008, 19:56) *
>> Просто настраивается и в отличии от многих других поддерживает атомарные коммиты.

и действительно странно: http://en.wikipedia.org/wiki/Comparison_of...ftware#Features

???


Да, на счет атомарности я погорячился...
Видимо вспомнил про вездесущий цвс, и
чего стоит от него отковырять плохо залившееся. beer.gif
spf
Цитата(nogapok @ Jan 9 2008, 13:43) *
Советую выбрать Perforce.

Цитата с wikipedia:
"As of December 2007, Perforce is licensed to more than 250,000 users at 4,500 organizations[2]."
И это при том, что проект стартовал аж в 1995 году. Слабовато как-то. wink.gif
Да и наличие самого лицензирования (а может еще и оплаты деньгами) не назвал бы положительным моментом.
Цитата
до этого были и цвсы-свны (более 5 лет).

Их ставят в один ряд обычно от непонимания последнего, как минимум. wink.gif
Явно вы с subversion плотно не работали. (Или пробовали самые первые выпуски)
vitan
Я бы советовал пользоваться CVS.
Что бы там не обсуждали, всегда с ней сравнивают.
Де-факто стандарт, так сказать...
COMA
Цитата(vitan @ Jan 10 2008, 22:04) *
Я бы советовал пользоваться CVS.
Что бы там не обсуждали, всегда с ней сравнивают.
Де-факто стандарт, так сказать...


"Subversion разработана специально для замены CVS, самой распространённой открытой системы управления версиями." smile.gif

http://ru.wikipedia.org/wiki/Subversion
Doka
Цитата(vitan @ Jan 10 2008, 22:04) *
Я бы советовал пользоваться CVS.
я бы не советовал пользоваться CVS.

Цитата(vitan @ Jan 10 2008, 22:04) *
Де-факто стандарт, так сказать...
для чего? для проектов, поддержка которых окончена еще в прошлом веке?
spf
Цитата(vitan @ Jan 11 2008, 00:04) *
Я бы советовал пользоваться CVS.
Что бы там не обсуждали, всегда с ней сравнивают.
Де-факто стандарт, так сказать...

Это можно было утверждать лет пять назад и то уже с оглядкой.
Сейчас ситуация сильно изменилась.
CVS это не стандарт, а в свое время самая широкоиспользуемая система и не более того.
Новое поколение систем иногда поддерживают похожий интерфейс, сделано это для упрощения перехода на них со старого доброго CVS.
В новых проектах пользовать CVS уже давно нецелесообразно.
(основные недостатки перечиснены на первой странице сайта Subversion)
Если вас не заботят эти недостатки, то вы пользуете и CVS не в полной мере.
Deghta
Цитата(spf @ Jan 11 2008, 16:36) *
Это можно было утверждать лет пять назад и то уже с оглядкой.
Сейчас ситуация сильно изменилась.
CVS это не стандарт, а в свое время самая широкоиспользуемая система и не более того.


Самая широкоиспользуемая система де-факто становится стандартом. CVS была основана на более старой системе RCS, и использовалась более 30 лет. Я являюсь сторонником SVN, потому что он предоставляет функционал необходимый нам и отсутствующий в CVS. Любая система контроля версий требует накладных расходов на поддержку. Так что выбор системы это в большей степени экономическаая задача, нежели техническая.
vitan
Долго думал над аналогией, придумал вот что.
ИМХО, CVS - это как английский язык в компьютерной отрасли. Если копнуть в любой компьютер, то все - на английском.
В основном, поэтому я и советую использовать CVS. Если работаешь с ним, везде тебя поймут. А ограниченность, имхо, не достаточное основание для перехода на другую систему.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.