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