про системы контроля версий (CVS) не расскажет ли кто?

Всем привет!

Вот думаю не ее ли мне для счастья не хватает?

Есть проект-долгожитель, развивающийся много лет. Соответственно есть множество устройств, в которые зашиты разные версии программы, вспомнить об особенностя которых никто уже не в состоянии. Задача - чтобы в дальнейшем такой проблемы не было. Т.е. надо автоматически нумеровать версии и сохранять их исходные тексты, чтобы в любой момент по этому номеру или дате сборки можно было получить исходники этой версии и список ее отличий от текущей. Это программа-минимум. Программа-максимум - объединить это в общей базе с версиями схем и плат, рисуемыми другими людьми на OrCADе.

Кто-нибудь этим занимался? Какой софт посоветуете?

Reply to
Askold Volkov
Loading thread data ...

Sun Jun 13 2004 06:06, Askold Volkov wrote to All:

AV> Всем привет!

AV> Вот думаю не ее ли мне для счастья не хватает?

AV> Кто-нибудь этим занимался? Какой софт посоветуете?

Я не так уж много подобных систем пробовал - Visual SourceSafe, Perforse and BitKeeper.

Вот последняя мне больше всего нравится. Рекомендую Есть версии как под Linux так и под Window. Можно пользоватся бесплатно(легально) с минимальными ограничениями.

formatting link
/Sam samutin(ат)hotbox.ru

Reply to
Alex Samutin

AV> текущей. Это программа-минимум. Программа-максимум - объединить это в общей AV> базе с версиями схем и плат, рисуемыми другими людьми на OrCADе.

AV> Кто-нибудь этим занимался? Какой софт посоветуете?

Где-то года полтора назад был достаточно общирный тред по CVS.

Reply to
Andy Mozzhevilov

AV> Всем привет! AV> AV> Вот думаю не ее ли мне для счастья не хватает? AV> AV> Есть проект-долгожитель, развивающийся много лет. Соответственно есть AV> множество устройств, в которые зашиты разные версии программы, вспомнить об AV> особенностя которых никто уже не в состоянии. Задача - чтобы в дальнейшем AV> такой проблемы не было. Т.е. надо автоматически нумеровать версии и AV> сохранять их исходные тексты, чтобы в любой момент по этому номеру или дате AV> сборки можно было получить исходники этой версии и список ее отличий от AV> текущей. Это программа-минимум. Программа-максимум - объединить это в общей AV> базе с версиями схем и плат, рисуемыми другими людьми на OrCADе. AV> AV> Кто-нибудь этим занимался? Какой софт посоветуете?

Cам использую CVS, на рекомендовал бы subversion

formatting link
Она более современна. Якобы на нее будут заменять CVS (The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community). Такая же свободная. Есть под *nix, под win (под win98 только клиент).

Reply to
Eugene Markov

Hello Askold.

13 Jun 04 05:06, you wrote to all:

AV> Есть проект-долгожитель, развивающийся много лет. Соответственно есть AV> множество устройств, в которые зашиты разные версии программы, AV> вспомнить об особенностя которых никто уже не в состоянии.

Вот у меня тоже такая ситуация встречается. Бывает в разные устройства зашита программа со своими особенностями. Hо как здесь применить CVS - я не придумал. Можно, конечно, делать ветвление проекта, но, имхо, это достаточно неудобно.

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

AV> Задача - AV> чтобы в дальнейшем такой проблемы не было. Т.е. надо автоматически AV> нумеровать версии и сохранять их исходные тексты, чтобы в любой момент AV> по этому номеру или дате сборки можно было получить исходники этой AV> версии и список ее отличий от текущей. Это программа-минимум.

Вот с этим как раз CVS справляется хорошо.

Alexey

Reply to
Alexey Boyko

AV>> Есть проект-долгожитель, развивающийся много лет. Соответственно есть AV>> множество устройств, в которые зашиты разные версии программы, AV>> вспомнить об особенностя которых никто уже не в состоянии.

AB> Вот у меня тоже такая ситуация встречается. Бывает в разные устройства AB> зашита программа со своими особенностями. Hо как здесь применить CVS - AB> я не придумал. Можно, конечно, делать ветвление проекта, но, имхо, это AB> достаточно неудобно.

Вполне удобно, нужно только понять фишку.

AB> В общем, на каждую версию устройства копирую все исходники. Иногда приходится AB> делать backporting. То есть в старые версии вносить фичи из более новых.

Угу. Причем наверное руками, вывести 2 окна рядом и сравнbвать глазками, правимть ручками :)

AV>> по этому номеру или дате сборки можно было получить исходники этой AV>> версии и список ее отличий от текущей. Это программа-минимум.

AB> Вот с этим как раз CVS справляется хорошо.

У CVS есть проблемы, но с текстовыми файлами в общем случае она справляется весьма неплохо. Нужно просто читать документацию.

Reply to
Andy Mozzhevilov

Hello Andy.

14 Jun 04 14:52, you wrote to me:

AB>> Вот у меня тоже такая ситуация встречается. Бывает в разные AB>> устройства зашита программа со своими особенностями. Hо как здесь AB>> применить CVS - я не придумал. Можно, конечно, делать ветвление AB>> проекта, но, имхо, это достаточно неудобно. AM> Вполне удобно, нужно только понять фишку.

Да я вроде понял фишку. Только с трудом представляю, как я буду мержить изменения из одной ветки в другую. Это же нужно будет коммитить изменения, касающиеся именно этой ветки, отдельно от изменений, касающихся всех ветвей, и потом мержить их во все ветви.

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

AB>> В общем, на каждую версию устройства копирую все исходники. Иногда AM> приходится AB>> делать backporting. То есть в старые версии вносить фичи из более AB>> новых.

AM> Угу. Причем наверное руками, вывести 2 окна рядом и сравнbвать AM> глазками, правимть ручками :)

Примерно так. Hо искать особо не приходится. Все таки я знаю, что именно я бекпортирую.

AB>> Вот с этим как раз CVS справляется хорошо. AM> У CVS есть проблемы, но с текстовыми файлами в общем случае она AM> справляется весьма неплохо. Hужно просто читать документацию.

Читал. И даже на русском.

Alexey

Reply to
Alexey Boyko

--

"Andy Mozzhevilov" сообщил в новостях следующее:

Раз уж зашла речь, тоже спрошу, но про коллективную разработку с помощью CVS. У нее есть серверная часть, или только клиентские? Достаточно ли ей обычного FTP сервера для организации совместной работы (клиенты имеют доступ к серверу только через интернет), или на сервере что-то должно быть запущено? И что именно? Документацию читал, но так и не понял. Может, не то читал? Почему-то, везде подробно расписано, что делать клиенту, а что должно быть на сервере? Сам я к TeamSource привык, но он, собачка, через FTP не могет, только при прямом доступе к файлам на сервере.

Примите уверения в совершеннейшем к Вам почтении

Reply to
Sergey Zabelin

Привет.

AB>>> Вот у меня тоже такая ситуация встречается. Бывает в разные AB>>> устройства зашита программа со своими особенностями. Hо как здесь AB>>> применить CVS - я не придумал. Можно, конечно, делать ветвление AB>>> проекта, но, имхо, это достаточно неудобно. AM>> Вполне удобно, нужно только понять фишку.

AB> Да я вроде понял фишку. Только с трудом представляю, как я буду мержить AB> изменения из одной ветки в другую. Это же нужно будет коммитить AB> изменения, касающиеся именно этой ветки, отдельно от изменений, AB> касающихся всех ветвей, AB> и потом мержить их во все ветви.

Мне так кажется что трудность не в CVS, а в разбиении проекта на модули(файлы, каталоги и т.п.).

Так же не стоит забывать о командах препроцессора, при помощи которых можно описать все "особенности".

_______ Сергей.

Reply to
Sergey Pinigin

Привет!

SZ> Раз уж зашла речь, тоже спрошу, но про коллективную разработку с SZ> помощью CVS. У нее есть серверная часть, или только клиентские? SZ> Достаточно ли ей обычного FTP сервера для организации совместной работы SZ> (клиенты имеют SZ> доступ к серверу только через интернет), или на сервере что-то должно SZ> быть запущено? И что именно?

Для доступа из интернета должен быть запущен север.

Какая ОС на "сервере"? Если маздай сходи туда:

formatting link

SZ> Документацию читал, но так и не понял. Может, не то читал? Почему-то, SZ> везде подробно расписано, что делать клиенту, а что должно быть на SZ> сервере? В переводе доки от Махоткина это описано в главе 2.9. Hа сайте первоисточника можно почитать FAQ

formatting link
_______ Сергей.

Reply to
Sergey Pinigin

Привет Sergey!

14 Jun 04 22:20, Sergey Zabelin писал Andy Mozzhevilov:

SZ> Раз уж зашла речь, тоже спрошу, но про коллективную разработку с SZ> помощью CVS. У нее есть серверная часть, или только клиентские?

Есть и серверные части, но ими пользоваться необязательно.

SZ> Достаточно ли ей обычного FTP сервера для организации совместной SZ> работы (клиенты имеют доступ к серверу только через интернет), или на SZ> сервере что-то должно быть запущено? И что именно?

FTP сервер ей как раз не нужен. Клиентский cvs может использовать несколько различных способов доступа к репозиторию. Самый простой способ - когда файловая система с репозиторием смонтирована у клиента (не важно как - с помощью SMB, NFS или как-то еще), клиенту надо только знать путь. Другой распространенный вариант - pserver, для него на сервере должен буть демон, обслуживающий запросы клентов.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Программисты и программистки! Выше флаг промежуточного переноса!

Reply to
Alex Mogilnikov

Привет!

DF> cvs - одна и та же программа для клиента и сервера.

Так задумывалось, но реализовано не везде, например порт для w32 (с cvshome.org) имеет только клиентскую часть.

_______ Сергей.

Reply to
Sergey Pinigin

В статье snipped-for-privacy@f70.n.z2.ftn> Alex Mogilnikov написал(а):

cvs - одна и та же программа для клиента и сервера.

CVS through SSH

formatting link
Anonymous CVS access via ssh
formatting link
Hurring.com // HOWTO // Getting CVS & SSH to play nice
formatting link
cvssh: a secure bridge for cvs pservers
formatting link

Reply to
Dmitry Fedorov

--

Hi!

"Alex Mogilnikov" сообщил в новостях следующее:

несколько

файловая

Насколько я понимаю, это как раз и невозможно. Сервер у хостера, он не даст прямой доступ к своей файловой системе, только по FTP на определенный каталог.

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

Примите уверения в совершеннейшем к Вам почтении

Reply to
Sergey Zabelin

Hello, Sergey! You wrote to Alexey Boyko on Tue, 15 Jun 2004 06:14:13 +0400:

SP> Так же не стоит забывать о командах препроцессора, при помощи SP> которых можно описать все "особенности".

Ой, не надо так. Всё хорошо, пока речь идет о "#ifdef DEBUG". Когда степень разнообразия увеличивается отлаживать "на бумаге" становится практически невозможно. Занимаешься только отслеживанием этих веток и по остаточному принципу - остальными, не препроцессорными инструкциями. Внесение изменений также превращается в очень весёлое занятие - думать приходится обо всех ветках сразу, если ты что-то затрагиваешь за пределами условной компиляции. Не очень удобно, вобщем.

Alexander,Derazhne@adic,kiev,ua (replace commas with dots) Alexander Derazhne

Reply to
Alexander Derazhne

Привет!

SZ> У хостера стоит Unix, какой - не знаю. Этот самый pserver входит в его SZ> состав, SZ> или это какая-то внешняя утилита? Если я ему скажу - запусти-ка, братец, SZ> для меня еще и pserver, он поймет о чем идет речь?

Совершенно не обязательно.

pserver - это не сервер/утилита/прога, а параметр с которым inetd (в общем случае) запускает CVS.

Рекомендую почитать документацию, для начала на русском (и админу тоже, если он не в курсе)

Глава 2.9 "Сетевые репозитории" взять можно там

formatting link
или inline html-вариант
formatting link

Hо! Голый pserver всетаки использовать не стоит, пароли то будут передаваться по инету открыто. Стоит подумать о применении ssh и т.п.

_______ Сергей.

Reply to
Sergey Pinigin

Привет!

SP>> Так же не стоит забывать о командах препроцессора, при помощи SP>> которых можно описать все "особенности".

AD> Ой, не надо так. Всё хорошо, пока речь идет о "#ifdef DEBUG". Когда AD> степень разнообразия увеличивается отлаживать "на бумаге" становится AD> практически невозможно. Занимаешься только отслеживанием этих веток и по AD> остаточному принципу - остальными, не препроцессорными инструкциями. AD> Внесение изменений также превращается в очень весёлое занятие - думать AD> приходится обо всех ветках сразу, если ты что-то затрагиваешь за AD> пределами условной компиляции. AD> Hе очень удобно, вобщем.

Спорить/флеймить не буду, можно сказать кратко: каждому свое.

_______ Сергей.

Reply to
Sergey Pinigin

Привет Dmitry!

15 Jun 04 15:24, Dmitry Fedorov писал Alex Mogilnikov:

DF> cvs - одна и та же программа для клиента и сервера.

Разве я против? :)

DF> CVS through SSH DF>

formatting link
DF> Anonymous CVS access via ssh DF>
formatting link
DF> Hurring.com // HOWTO // Getting CVS & SSH to play nice DF>
formatting link
DF> cvssh: a secure bridge for cvs pservers DF>
formatting link
А это ты к чему привел? Я, находясь дома, прекрасно доступаюсь к репозиторию по cvs pserver (и другим нужным мне сервисам) фирмы через ssh. И для этого мне не потребовалось ничего специально настраивать. Вполне хватило прочитать документацию на ssh.

Кстати, это письмо я пишу, находясь в офисе, в то время как golded и прочие фидошные программы живут дома. И домой я, естественно, не через telnet хожу. :)

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Закрой свой Ворд!

Reply to
Alex Mogilnikov

Привет Sergey!

15 Jun 04 16:13, Sergey Zabelin писал Alex Mogilnikov:

Я пользуюсь FreeBSD, в ней cvs является частью системы. Как в других - не знаю.

SZ> Если я ему скажу - SZ> запусти-ка, братец, для меня еще и pserver, он поймет о чем идет SZ> речь?

Если он вообще знает, что такое есть cvs, то должен понять. Опять же под FreeBSD в файле /etc/inetd.conf уже есть запись для cvs pserver, ее надо только раскомментировать и при необходимости исправить путь к репозиторию:

cvspserver stream tcp nowait root /usr/bin/cvs cvs

--allow-root=/usr/local/cvsroot pserver

Hу и порт 2401 не должен быть зарезан firewall'ом.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... В системе возможно бесконечное число процессов - до 256.

Reply to
Alex Mogilnikov

В статье snipped-for-privacy@f70.n.z2.ftn> Alex Mogilnikov написал(а):

У кого что болит... у меня вот это.

Reply to
Dmitry Fedorov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.