Предыдущий ролик Следующий ролик  

Видео урок: Создание хранилища и проекта

Принципы контроля версий

Теперь, когда у нас установлен Subversion, давайте создадим хранилище и проект внутри него. Создать хранилище в Subversion очень легко, используйте команду svnadmin. Итак, мы введем svnadmin create c:\svn\r1, где r1 - это имя хранилища, которое вы хотите создать. Не обязательно создавать его в каталоге SVN, но это удобно, потому что так вы сможете легко создать резервную копию всех хранилищ, просто создав резервную копию каталога SVN. Далее нам нужно создать проект.

Настройка проекта в Subversion может показаться довольно сложной, но ее нужно просто научиться выполнять, и потом делать каждый раз одно и то же. Существует несколько соглашений, которые гарантируют, что при переходе из одной группы в другую будет использоваться один и тот же шаблон каталогов. Это облегчает создание бранчей и меток, а также помогает отслеживать, какой бранч является стволом (trunk). Таким образом, я всегда называю мои проекты XXX-YYY, где XXX - это имя хранилища, а YYY - имя проекта.

Так я знаю, где что находится, просто по имени открытого каталога проекта. Итак, чтобы создать проект, мы введем svn mkdir и создадим URI для нашего хранилища r1/r1-p1, а затем мы создадим сообщение коммита "Create project p1". Хорошо. Мы создали проект. Как я уже говорил, в SVN есть соглашение о том, как настраиваются каталоги проекта.

По этому соглашению создаются три специальных каталога: branches, tags и trunk. Если у вас есть существующая папка с исходным кодом, то я предлагаю вам открыть ее, создать эти три каталога, а затем перенести оригинальное содержимое вашей папки в подкаталог trunk, прежде чем выполнить импортирование. Поскольку у нас нет существующей папки, мы создадим эту структуру каталогов и импортируем ее в Subversion. Итак, мы перейдем в каталог temp и создадим папку под названием r1-p1, затем откроем ее и создадим подкаталоги, чтобы она выглядела следующим образом.

Теперь мы импортируем ее в Subversion с помощью команды svn import, и в этом случае я не ввожу -m, потому что я хочу показать вам, как работает вызов редактора. Так как мы установили SVN_EDITOR =notepad, здесь откроется Блокнот. Как видите, в нем есть строка с текстом --This line, and those below, will be ignored--. Она показывает вам статус того, что вы делаете. Любая строка или строки, которые вы поместите перед этой строкой, будут вашим сообщением коммита. Таким образом, мы вводим Import structure of project p1, сохраняем файл и закрываем Блокнот, и сообщение автоматически добавляется в хранилище Subversion.

В нашем случае, так как мы выполнили это во временном каталоге, мы можем вернуться в корневую папку и удалить этот временный каталог. Наконец, мы хотим переместить каталог туда, где мы хотим создать рабочий набор. Я создам его в корне диска С, но вы можете поместить его в каталог work или div, или туда, где вы держите свой исходный код. Обратите внимание, что он отличается от исходной директории, в которой у вас были файлы. Вы можете поместить его в то же место, но помните, что исходный каталог с файлами не является частью Subversion, он не отслеживается для контроля исходного кода, поэтому вам нужно создать в Subversion новый каталог, в котором будут не только ваши файлы, но еще и метаданные, которые позволят Subversion отслеживать изменения.

Теперь мы введем svn co, СО - это сокращение для checkout. В Subversion есть полные и короткие версии для многих команд. В этом случае СО означает checkout. Еще одно сокращение, которое я буду часто использовать - CI, что означает check in и является сокращенной версией команды коммита в Subversion. Таким образом, мы делаем чекаут svn/r1/r1-p1, и это не только создаст каталог C:\r1-p1, но и получит все данные из хранилища, в том числе все файлы, которые у нас были в каталоге trunk, поместит их в этот каталог и скажет Subversion, что их нужно начать отслеживать.

Так что теперь, если мы войдем в папку r1-p1, вы можете увидеть, что в ней есть структура подкаталогов, которую мы создали. Теперь, чтобы спросить Subversion, действительно ли она отслеживает эту папку, мы можем ввести svn log -v и просмотреть все логи. Во-первых, вы увидите изменение 2, в котором были изменены пути, и изменение 1, в котором мы создали подкаталог для проекта p1. Это все, что касается создания хранилища и проекта.

Чтобы создавать другие проекты в этом хранилище, просто пропускайте первую команду SVN admin и вводите svn mkdir. Далее мы добавим в проект несколько файлов, чтобы поработать с изменениями.