Художественное оформление: София Садовская

Итак у нас имеется проект, который необходимо сотворить и несколько разработчиков в команде. Один разработчик написал один кусок кода в файле index.php, другой написал другой кусок в этом же файле, как теперь все это соединить воедино и открыть доступ третьему, который все это время сидел и ждал первых двух? Ручками собирать из двух файлов - один? Нет, это не для нас! На этой ноте к нам на помощь приходит Subversion, так называемая система контроля версий.

Смысл данной системы заключается в том, что все данные хранятся в едином хранилище. Каждый разработчик создает у себя на компьютере рабочию копию, с которой собственно и работает. Т.е. в рабочию копию из хранилища загружаются все файлы и папки. После того как очередной этап работы завершен все участники проекта сливают изменения из своих рабочих копий в хранилище, т.е. происходит слияние рабочей копии и хранилища. Такая модель работы с Subversion называется Копирование-Изменение-Слияние.

Помимо вышеупомянутой модели существует еще одна модель которая называется Блокирование-Изменение-Разблокирование. Ее суть заключается в том, что после того, как разработчик скопировал все данные из хранилища себе на компьютер, он выбирает несколько файлов с которыми будет работать и ставит на них запрет на изменение. Т.е. пока этот запрет не будет снят, никто из других разработчиков не сможет внести изменения в эти файлы. После того, как работа с данными файлами запрещена, разработчик сливает изменения в хранилище и снимает запрет на изменение, после чего все остальные разработчики опять смогут вносить изменения в данные файлы. Честно говоря, никогда не сталкивался с необходимостью использовать данную модель, но упускать такую возможность из вида тоже не стоит.
На всякий случай разъясню, что рабочая копия - ни что иное, как обычная папка на вашем локальном диске, в которой хранятся все данные (файлы) из хранилища.

Subversion используют многие разработчики, в т.ч. разработчики FreeBSD, KDE и т.д.

Ссылки по теме:

Описание двух моделей версирования
Subversion в википедии
Хороший мануал для начинающих по Subversion и клиенту TortoiseSVN

В следующей статье я опишу процесс установки Subversion сервера и TortoiseSVN клиента.

Заметка: Что необходимо знать, чтобы заказать геологические работы? Ответ на этот вопрос вы найдете тут:  инженерные изыскания с формированием геоподосновы.