Страница 1 из 2
Контроль версий
Добавлено: 02 янв 2006, 02:06
Victor Gr.
Привет.
Вопрос: два разработчика работают над сайтом (php+apache+mysql) на разных не связанных машинах.
Итоговая версия размещается через ftp на сервер.
Нужно решить вопрос с синхронизацией исходников: т.к. изменения одного программиста, закачанные на сервер могут автоматически убить изменения другого и т. п.
Как такие вещи вообще решаются?
Добавлено: 02 янв 2006, 02:31
mend0za
такие вещи решаются через version control system
Примеры - cvs (самая известная), subversion, gnu arch, monotone
Добавлено: 02 янв 2006, 03:33
Victor Gr.
Спасибо!
Про CVS конечно многое слышал, но к себе не применял. Установлю...
А в двух словах: что будет, если я внесу изменения в свою версию первоначального кода, а партнёр - в свою, не учитывая, конечно же, моих изменений?
Как такие конфликты разрешаются?
Добавлено: 02 янв 2006, 11:20
exe
Victor Gr.,
Это именно то для чего cvs и используется. Все описано в доках по cvs.
Добавлено: 02 янв 2006, 21:47
Victor Gr.
Большое спасибо!
Нашёл доки по CVS. Интересно, одного только не пойму пока.
А чем отличаются централизованные системы (CVS, Subversion) от децентрализированных? (Gnu Arch).
В моём случае, сервером CVS выступает sf.net.
Могу ли я проводить разработку в оффлайне, а потом разом закачивать все изменения? или нужно постоянно быть в онлайне, чтобы делать cvs commit и т. п.?
Добавлено: 02 янв 2006, 23:36
exe
Для всех комманд (почти) тебе нужен доступ к серверу

Реплики как то не предусмотрены.
ps. Бери белсел, он спит пока данные не идут.
Проснется при выполнении cvs, заплатишь за 12 sec

Добавлено: 02 янв 2006, 23:45
Victor Gr.
exe, ОК, а есть системы контроля версий, у которых не нужен доступ к серверу?
У меня ADSL, через домашнюю сеть. И дело просто в нестабильности всей этой сети.
Не хочется так сильно от этого зависеть.
Добавлено: 03 янв 2006, 00:24
mend0za
да, в CVS можно работать в оффлайне
иначе само понятие рабочей копии было бы бессмысленно
делаешь изменения, потом коннектишся для commit
Добавлено: 03 янв 2006, 00:55
Victor Gr.
Ну, commit...
К примеру, у меня сегодня в To Do 3 пункта.
Я испрвляю первый, делаю commit -m "Оптимизированы расчеты"
Второй commit -m "Добавлено сохранение"
Третий commit -m "Исправлены ошибки".
Нельзя сделать так, чтоб потом одним махом закачать на сервер?
А чем отличаются централизованные системы (CVS, Subversion) от децентрализированных? (Gnu Arch).
Добавлено: 03 янв 2006, 00:57
mend0za
сделать только 1 коммит с коментом из трёх пунктов, что за проблема

Добавлено: 03 янв 2006, 01:46
X-Stranger
Советую вместо CVS использовать Subversion
Добавлено: 03 янв 2006, 02:58
Victor Gr.
X-Stranger, да, вижу, что лучше по всем параметрам. Но где найти его публичные серверы? Ведь sf.net - ТОЛЬКО cvs? или нет?
mend0za,

)) Как-то, я не догадался )... Серьёзно, спасибо )
Добавлено: 03 янв 2006, 16:53
mend0za
2 Victor Gr.: sf.net, savannah.gnu.org, gna.org - у всех имхо есть и альтернативные CVS варианты
Добавлено: 14 май 2006, 10:03
Debugger
Victor Gr.,
Sourceforge.net - есть и CVS и SVN, на выбор
Добавлено: 14 май 2006, 16:13
Victor Gr.
Ну, гэта толькі нядаўна sf.net пачаў падтрымліваць SVN. І гэта добра.
А ў мяне яшчэ пытанне наконт...
Напрыклад, я маю ў сябе на лакальным кампе сэрвер svn куды раблю commit-ы.
І таксама маю рахунак на sf.net, напрыклад.
Магчыма неяк сінхранізаваць пасля мой лакальны рэпазітарый з аддаленым?