Контроль версий

Все о программировании под *nix
Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Контроль версий

Сообщение Victor Gr. »

Привет.

Вопрос: два разработчика работают над сайтом (php+apache+mysql) на разных не связанных машинах.

Итоговая версия размещается через ftp на сервер.

Нужно решить вопрос с синхронизацией исходников: т.к. изменения одного программиста, закачанные на сервер могут автоматически убить изменения другого и т. п.

Как такие вещи вообще решаются?

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

такие вещи решаются через version control system

Примеры - cvs (самая известная), subversion, gnu arch, monotone
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

Спасибо!
Про CVS конечно многое слышал, но к себе не применял. Установлю...

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

Как такие конфликты разрешаются?

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Victor Gr.,

Это именно то для чего cvs и используется. Все описано в доках по cvs.

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

Большое спасибо!

Нашёл доки по CVS. Интересно, одного только не пойму пока.

А чем отличаются централизованные системы (CVS, Subversion) от децентрализированных? (Gnu Arch).

В моём случае, сервером CVS выступает sf.net.
Могу ли я проводить разработку в оффлайне, а потом разом закачивать все изменения? или нужно постоянно быть в онлайне, чтобы делать cvs commit и т. п.?

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

Для всех комманд (почти) тебе нужен доступ к серверу :-(
Реплики как то не предусмотрены.

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

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

exe, ОК, а есть системы контроля версий, у которых не нужен доступ к серверу?

У меня ADSL, через домашнюю сеть. И дело просто в нестабильности всей этой сети.

Не хочется так сильно от этого зависеть.

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

да, в CVS можно работать в оффлайне

иначе само понятие рабочей копии было бы бессмысленно

делаешь изменения, потом коннектишся для commit
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

Ну, commit...

К примеру, у меня сегодня в To Do 3 пункта.

Я испрвляю первый, делаю commit -m "Оптимизированы расчеты"
Второй commit -m "Добавлено сохранение"
Третий commit -m "Исправлены ошибки".

Нельзя сделать так, чтоб потом одним махом закачать на сервер?

А чем отличаются централизованные системы (CVS, Subversion) от децентрализированных? (Gnu Arch).

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

сделать только 1 коммит с коментом из трёх пунктов, что за проблема :)
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Аватара пользователя
X-Stranger
Администратор
Сообщения: 1238
Зарегистрирован: 09 сен 2001, 04:46
Контактная информация:

Сообщение X-Stranger »

Советую вместо CVS использовать Subversion
usually I'm kind

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

X-Stranger, да, вижу, что лучше по всем параметрам. Но где найти его публичные серверы? Ведь sf.net - ТОЛЬКО cvs? или нет?

mend0za, :))) Как-то, я не догадался )... Серьёзно, спасибо )

Аватара пользователя
mend0za
Неотъемлемая часть форума
Сообщения: 2332
Зарегистрирован: 30 авг 2002, 12:33
Откуда: Minsk

Сообщение mend0za »

2 Victor Gr.: sf.net, savannah.gnu.org, gna.org - у всех имхо есть и альтернативные CVS варианты
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...

Debugger
Заглянувший
Сообщения: 15
Зарегистрирован: 11 дек 2005, 22:25

Сообщение Debugger »

Victor Gr.,
Sourceforge.net - есть и CVS и SVN, на выбор
Ничто так не ограничивает полет мысли программиста как компилятор...

Аватара пользователя
Victor Gr.
Неотъемлемая часть форума
Сообщения: 891
Зарегистрирован: 13 авг 2004, 15:39
Откуда: Минск
Контактная информация:

Сообщение Victor Gr. »

Ну, гэта толькі нядаўна sf.net пачаў падтрымліваць SVN. І гэта добра.

А ў мяне яшчэ пытанне наконт...
Напрыклад, я маю ў сябе на лакальным кампе сэрвер svn куды раблю commit-ы.

І таксама маю рахунак на sf.net, напрыклад.

Магчыма неяк сінхранізаваць пасля мой лакальны рэпазітарый з аддаленым?

Ответить