Об этой книге

Содержание

Для кого написана эта книга?
Как читать эту книгу?
Соглашения, принятые в книге
Типографские соглашения
Пиктограммы
Структура книги
Эта книга распространяется свободно
Благодарности
From Ben Collins-Sussman
From Brian W. Fitzpatrick
From C. Michael Pilato

«Если язык C — это клубок верёвок, в которых можно легко запутаться, то Subversion — это что-то вроде склада для верёвок». — Брайан У. Фитцпатрик

В мире программного обеспечения с открытым исходным кодом в качестве инструмента управления версиями долгое время использовалась Concurrent Versions System[1] (CVS). На это были свои причины. CVS сама по себе является свободным программным обеспечением, на работу с ней не накладывается ограничений, а поддержка сетевых возможностей позволяет десяткам географически разделённых программистов работать совместно — всё это отлично подходит для мира свободного программного обеспечения, отличающегося духом сотрудничества. CVS и её полубеспорядочная модель разработки стали краеугольными камнями культуры свободного программного обеспечения.

Однако, несмотря на все достоинства CVS, её возраст даёт о себе знать. Subversion представляет собой относительно молодую систему управления версиями, призванную прийти на смену CVS. Её разработчики стремятся завоевать сердца пользователей CVS сразу с двух сторон: во-первых, Subversion создаётся как система с открытым исходным кодом, которая по своему устройству и ощущениям от работы напоминает CVS, а во-вторых, она пытается исправить наиболее очевидные недостатки CVS. И хотя то, что получается в результате, не обязательно является новым витком в развитии технологий управления версиями, Subversion на самом деле очень мощное, удобное и гибкое средство.

Эта книга описывает систему управления версиями Subversion поколения 1.2. Мы стремились охватить материал как можно шире. В то же время следует иметь в виду, что разработкой Subversion занимается активное энергичное сообщество, так что уже сейчас идёт работа над рядом особенностей и улучшений, которые будут внесены в последующие версии Subversion. Эти нововведения могут привести к некоторым расхождениям между командами и соответствующими пояснениями в тексте книги.

Для кого написана эта книга?

Эта книга написана для людей, которые владеют знаниями о компьютерах и хотят использовать Subversion для управления данными. Subversion может работать на разных операционных системах, но основным интерфейсом для взаимодействия с ней является командная строка. В этой книге обсуждается и рассматривается инструмент для командной строки, svn. Примеры, которые здесь приводятся, рассчитаны на читателя, использующего Unix-подобную операционную систему и знаком с командной строкой и Unix.

Вместе с тем, программа svn работает и на других платформах, например в Microsoft Windows. Ввод и вывод этой программы в Windows и Unix практически идентичны, за исключением незначительных различий, вроде использования символа обратной косой черты (\) вместо прямой косой (/) в качестве разделителя компонентов пути к файлу. Пользователи Windows могут также работать с приведёнными примерами в среде эмуляции Unix Cygwin, чтобы свести на нет даже самые незначительные различия.

Многие наши читатели — программисты или системные администраторы, испытывающие потребность отслеживать изменения в исходном коде. Такое использование Subversion является самым распространённым и положено в основу всех примеров в этой книге. Однако, Subversion можно использовать для управления информацией самого разного рода: графика, музыка, базы данных, документация — этот список можно продолжать до бесконечности. Для Subversion любые данные — это просто данные.

Мы писали книгу исходя из того, что читатель никогда не использовал управление версиями раньше, но в то же время пытались облегчить переход на Subversion для пользователей CVS. CVS посвящены специальные врезки в тексте книги, а обзор основных различий между CVS и Subversion вынесен в отдельное приложение.



[1] Система параллельного управления версиями