Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

По ту сторону кодинга

Алексей Башкеев

Спецвыпуск: Хакер, номер #053, стр. 053-068-6


CVS – это клиент-серверное приложение. На сервере CVS хранятся все версии файлов, а клиент, как правило, имеет только одну – ту, с которой работает. После того как программист закончил вносить необходимые изменения в файл, он отправляет его CVS-серверу, который проверяет, нет ли ошибок (об этом читай ниже) и, если все в порядке, кладет файл на сервер и присваивает ему новую версию.

Возможно, над одним и тем же файлом работают несколько разработчиков, которые сами об этом не подозревают. Один открыл файл утром, работал с ним весь день и сохранил вечером. Другой внес небольшие изменения в середине дня. Если не воспользоваться системой контроля версий, то изменения, которые внес второй, пропадут, когда первый сохранит свои. При использовании CVS в конце дня, если первый разработчик соберется сохранить изменения, CVS-сервер выдаст предупреждение: "Вы работаете со старой версией файла. В CVS уже находится новая, пожалуйста, обновите ее из CVS".

CVS позволяет также отделаться легким испугом от другой ситуации, когда в выпущенном релизе программы обнаружена серьезная ошибка, а текущая версия программы еще не готова. Без использования CVS надо хранить все файлы "релиза" в отдельных папках и вносить изменения и в них, и в текущую версию. CVS значительно упрощает решение таких проблем, все файлы релиза можно пометить, и потом будет легко достать из CVS-сервера любой релиз. При этом если файлы релиза надо изменить не трогая их текущей версии, в CVS можно создать "ветвь". При этом текущая работа над новой версией будет продолжаться в обычном режиме и необходимости вносить изменения в него не будет. А когда будет готов очередной релиз, CVS поможет "слить ветви". Таким образом в новом релизе будут учтены изменения, которые были сделаны в предыдущем. Ну и еще одно неоспоримое преимущество CVS: так как последняя версия всех файлов находится на сервере CVS, работать над проектом могут люди из разных офисов, городов и даже стран.

Не обязательно прямо сейчас все бросать и, проникнувшись идеями CVS, приступать к изучению мануалов с cvs.ru. Для небольших проектов CVS может оказаться пустой тратой времени. Пока ты научишься пользоваться ей, настроишь сервер, тебе в голову может прийти такая мысль:"Если бы я не знал о CVS, я бы уже давно все написал". Это мощное и часто незаменимое средство. Если для проекта не планируется масштабных доработок и новых версий, то использование CVS – лишь трата времени. Кстати, CVS - не единственное средство контроля версий, есть и другие. Однако самое широкое распространение получила именно она, да и принципы у них схожи. Напоследок скажу, что CVS сейчас распространяется все шире, и "умение работать с CVS" все чаще фигурирует в призывах устроиться на работу.

Назад на стр. 053-068-5  Содержание  Вперед на стр. 053-068-7