Содержание
Эта глава - слегка изменённая версия такой же главы из книги о Subversion. Онлайн версия книги о Subversion доступна по адресу http://svnbook.red-bean.com/.
Эта глава является кратким неформальным введением в Subversion. Если управление версиями для вас в новинку, эта глава определённо для вас. Мы начнём с обсуждения основных понятий управления версиями, перейдём к идеям, лежащим в основе Subversion, и покажем несколько простых примеров использования Subversion.
Несмотря на то, что примеры из этой главы описывают совместную работу над исходным кодом программ, помните, что Subversion подходит для любых типов файлов, и не является специализированным инструментом программистов.
Subversion - это централизованная система для совместной работы. В её основе лежит хранилище, которое содержит данные в форме дерева файловой системы - обычной иерархии файлов и папок. Клиенты подключаются к хранилищу, и читают или изменяют эти файлы. Записывая данные, клиент делает информацию доступной для остальных; читая данные, клиент получает информацию от других.
Но чем эта система отличается от обычного файлового сервера? И действительно, хранилище является разновидностью файлового сервера, однако не совсем обычного. Что делает хранилище Subversion особенным - это то, что он запоминает каждое внесённое изменение, когда-либо записанное в него: любое изменение любого файла, и даже изменения в самом дереве каталогов, такие как добавление, удаление и перемещение файлов и каталогов.
Когда клиент просто читает данные из хранилища, он получает последнюю версию дерева файловой системы. Но, помимо этого, клиент имеет возможность посмотреть предыдущие состояния файловой системы. Например, клиенту интересно, «Что содержал эта папка в прошлый вторник? » или «Кто последним изменил этот файл и какие изменения внес? » Вопросы подобного типа являются основными для любой системы управления версиями: системы, разработанной для записи и отслеживания изменений данных во времени.