SVN Howto
From Synhe
Исходный код Synhe находится на сервере sf.net в системе Subversion. Для доступа к этому коду, Вам необходимо установить клиент Subversion.
Contents |
Установка клиента Subversion
Под Windows я рекомендую установить клиент, разработанный создателями системы Subversion: TortoiseSVN. Он интегрируется в операционную систему и позволяет легко выполнять все версионные операции.
Принципы версионной работы
Работа в версионной системе с одной стороны значительно упрощает одновременную разработку проекта, но с другой стороны требует определенной осторожности при работе с ней. Общая идеология работы состоит в следующем:
- Все файлы находятся на сервере.
- Для того, чтобы изменить какой-то файл, мы загружаем его на локальный компьютер. Обычно, разработчик загружает на компьютер весь проект, это называется project check out.
- Далее, разработчик редактирует исходный код по своему усмотрению.
- После того, как некоторая часть кода была написана, разработчик сохраняет изменения на сервере (check in или commit).
Что позволяет делать версионная система
Версионная система позволяет:
- Отслеживать изменения файла. Каждое сохранение файла на сервер не заменяет файл на сервере, а создает еще одну версию этого файла. При этом остается возможность просмотреть файлы более ранних версий, просмотреть совершенные изменения и т.п.
- Организовать одновременную работу с одним файлом нескольких человек. Подробности описаны ниже.
Параллельная работа с файлом
При работе над проектом, есть вероятность (а в случае Synhe она близка к единице), что разные разработчики будут одновременно редактировать один и тот же файл. При этом, если изменения в файле расположены достаточно далеко друг от друга, то они считаются системой независимыми и система в состоянии сама объединить (merge) изменения от двух разработчиков. Если же изменения сделаны в близких участках кода, то разработчикам приходится обрабатывать такие накладки вручную. Для простоты приведу пример.
- На сервере находится файл a.js версии 5.
- Разработчики А и Б получают (checkout) этот файл с сервера.
- Разработчик А делает небольшое изменение в начале файла и сохраняет его на сервере (при этом на сервере получается версия 6).
- Разработчик Б в это время долго работает в конце файла и, наконец, хочет сохранить изменения на сервере.
- Система оповещает Б, что файл был изменен и загружает версию 6 на компьютер Б (сохраняя изменения, сделанные Б).
- Разработчик Б просматривает файл еще раз, чтобы убедиться, что объединение произошло корректно и сохраняет файл на сервере (версия 7).
Если при этом разработчики сделали изменения в близких частях кода, то Б прийдется, просматривая файл, вручную объединить изменения А и Б. TortoiseSVN при этом цветом выделяет соответствующие изменения, всячески способствуя ускорению процесса.
Простые правила
Таким образом, можно написать несколько простых правил, которые значительно ускорят процесс работы с SVN:
- Перед тем, как изменить файлы, обновите их с сервера (update). Это гарантирует, что вы увидите все уже сохраненные изменения других разработчиков.
- После того, как вы изменили код и протестировали его, сразу же сохраните его на сервере. Это позволит другим видеть Ваши изменения.
- Переименовывайте и удаляйте версионные файлы соответствующими командами SVN. Так вы передадите информацию о переименовании или удалении как серверу, так и другим разработчикам.
SVN: Synhe
Для доступа к исходным текстам Synhe, Вам нужно зарегистрироваться на sf.net и получить соответствующие права у меня или у Гриши. Далее, Вы создаете каталог, в котором хотите держать исходный текст Synhe, щелкаете на нем правой кнопкой мыши, выбираете TortoiseSVN->Checkout и в адресе репозитория (место, где хранятся файлы на сервере) пишете строку:
https://svn.sourceforge.net/svnroot/synhe
Имя и пароль система Вас спросит при первом сохранении файлов (т.к. доступ на чтение есть у всех пользователей, в том числе и анонимных).
--Paulus 22:15, 14 April 2006 (UTC)

