Продолжается подписка на наши издания! Вы не забыли подписаться?

Эксперты для интеграции Borland Delphi
и систем контроля версий

На сегодняшний день системы контроля версий (Version Control System, VCS) используют почти все разработчики программного обеспечения. Это касается не только крупных фирм-производителей программного обеспечения и больших коллективов, но и программистов-одиночек. О пользе систем контроля версий сказано уже достаточно много. Назначение таких систем различное – это хранение проекта, ведение коллективной разработки, автоматизация отслеживания изменений кода и т.д. Если вы работаете над проектом в составе группы и используете общий код, то без VCS обойтись трудно. Но основное достоинство подобных систем всё же заключается в том, что они позволяют не потерять ни одной строчки кода. По этому поводу я расскажу случай, который произошел у нас на работе лет восемь назад. За ночь воры вынесли все системные блоки из комнаты, где сидела группа разработчиков. В результате были потеряны все исходные тексты проекта, над которым группа из пяти человек работала почти год (т.е. потеря около 50-60 человеко-месяцев). И это все на пороге сдачи проекта! Но в то время группа уже пользовалась Gupta TeamWindows (системой совместного ведения проектов, которая входила в поставку передового (на тот момент) средства разработки Gupta SQLWindows). А сама база TeamWindows с проектом лежала на сервере, который находился в другом месте. Вот так благодаря системе контроля версий был спасен проект (довольно важный для нашей организации).

Как работает простейшая система контроля версий? Несколько разработчиков могут одновременно работать в проекте, используя клиент-серверную модель VCS, в соответствии с которой исходный код проекта хранится на отдельном сервере, каждый программист получает его на свою «локальную» машину с сервера (checkout) и туда же «возвращает» изменения, после того, как работа заканчивается (checkin). Каждый раз, когда кто-либо из программистов посылает измененные файлы на сервер VCS, там сохраняются отличия от предыдущей версии. Это позволяет воссоздать любую из прежних версий каждого файла, хотя по умолчанию сервер «раздает» самую последнюю версию. VCS маркирует каждое изменение моментом времени, когда оно было сделано, и именем пользователя, совершившим изменение. Обычно человек, совершивший изменение, также предоставляет текстовое описание причины, по которой произошло изменение. Вооружившись всей этой информацией, система контроля версий может отвечать на такие вопросы, как

Программист, чьи исходники контролируются системой контроля версий, чем-то неуловимо отличается от остальных своих собратьев. Он всегда знает, что именно было сделано неделю назад, сегодня, какие ошибки, когда и кем были исправлены, какие изменения внесены. Он не подвержен синдрому "Работает - не трогай", потому что может спокойно ударяться в самые сложные эксперименты со своей программой, ведь он твердо знает, что в любой момент может вернуться к той версии, которая работала. Более того, если пользователь вдруг захочет внести изменение в тот момент, когда программа находится в совершенно нерабочем состоянии, то все, что для этого потребуется – переключиться на стабильную версию, произвести необходимые изменения, отдать версию пользователю, а затем спокойно вернуться к процессу разработки.

С выпуском Delphi в 1995 году компания Borland периодически возвращалась к идее встроить в среду разработки (IDE) Delphi систему контроля версий. Большинство производителей VCS по инерции ориентировались на крупные компании-производители программного обеспечения, которые не рассматривали Delphi, как полноценное средство разработки. Это привело к тому, что интеграцией разработок третьих фирм в Delphi должна была заниматься сама Borland. Начиная со второй версии Delphi разрабатывался с учетом Open Tools API, благодаря этому программисты смогли самостоятельно подключать к ней системы контроля версий. Используя Open Tools API в Delphi 2 Developer и Client/Server разработчики встроили lite-версию Intersolv PVCS (она даже поставлялась с версией Client/Server). Но это нельзя считать прорывом, поскольку эта версия являлась скорее переходным средством к «полноценной» версии Intersolv PVCS.

Open Tools API – это набор классов, которые обеспечивают контроль над средой разработки «из вне» и доступ ко всей информации о текущем проекте. Они позволяют произвести интеграцию IDE Delphi со средствами третьих фирм, таких как систем контроля версий, CASE-средств и т.д. С каждой версией Open Tools API расширяется с целью увеличить уровень интеграции в отношении работы с файлами проекта, редактором, меню и др. элементами IDE.

До недавнего времени VCS-продуктов, «умеющих» самостоятельно интегрироваться в Delphi, вообще не существовало. Системы, обладающие возможностью подключения в виде расширений и экспертов к IDE Delphi, полностью использующие возможности Open Tools API, появились лишь в конце 1998 – начале 1999 года. Примером может служить FreeVCS, бесплатная система контроля версий проектов для Delphi 4, разработанная Томасом Хенсле (Thomas Hensle, http://www. thensle.de). На этом фоне заметным событием стало появление в составе Delphi 5 Borland TeamSource , системы контроля версий проектов, разработанной, а главное, используемой инженерами Borland в их собственных проектах...

<...>

Литература.

Прочитать статью полностью вы можете в печатной версии журнала

Copyright © 1994-2016 ООО "К-Пресс"