173
что вирусы уничтожат ваши файлы, или что у вас сломается жесткий диск. Все
данные хранятся на удаленном сервере и всё, что вы можете потерять, – это
несколько часов работы. Естественно, все это будет работать именно так, если
вы позаботитесь о регулярном резервном копировании вашего сервера.
В настоящее время системы контроля
версий интегрированы в различные
интегрированные среды разработки (IDE). Наиболее распространенными
системами контроля версий, широко применяемыми на момент написания этой
книги, являются CVS и Subversion. Эти системы очень похожи. CVS появилась
раньше, чем Subversion и хорошо себя зарекомендовала. Subversion в настоящий
момент активно пробивается в лидеры, в ней исправлено несколько
концептуальных ошибок, имеющихся в ее предшественнике SVN. Чем
пользоваться
вам – решайте сами. По сути, все системы контроля версий очень
похожи и чем пользоваться – дело привычки или каких-то иных предпочтений.
Работа с системой контроля версий
Работа с системой контроля версий начинается с создания репозитория.
Репозиторий – это специализированная база данных, в которой хранятся файлы
вашего проекта, вносимые изменения, информация о
создании и удалении
файлов, информация о пользователях и т.п. В основном, репозиторий рассчитан
на хранение обычной текстовой информации, хотя можно хранить и двоичные
файлы (к примеру, исполняемые, документацию в формате PDF или DOC).
Почему не использовать обычную СУБД, к примеру, такую как MySQL или
Oracle? Ответ прост: проблема в эффективности. Репозиторий системы
контроля
версий специально ориентирован на хранение текстовых документов
и изменений в них. Хранение таких данных (весьма большого объема) в
обычной базе данных вызовет неэффективное использование дискового
пространства и замедление работы. Обычно в репозитории хранится разница
между текущей и предыдущей версией фала. Для того, чтобы посмотреть на то,
как может выглядеть внутренности
репозитория, изучите работы программы
diff.
После создания репозитория можно добавлять и стирать в нем файлы,
получать содержимое репозитория на свою машину, проверять обновления и
отправлять изменения обратно. Типичный цикл работы на примере Subversion
может выглядеть примерно так:
svn co http://194.85.162.173/repos/ul3
Эта строка позволяет забрать с сервера 194.85.162.173 из репозитория
repos/ul3 ваш проект. Вы можете отредактировать нужные вам файлы. Для того,
чтобы убедиться, что ваши товарищи не добавили в проект чего-то нового
можно вызвать команду: