SVN Howto

From Synhe

Jump to: navigation, search

Исходный код Synhe находится на сервере sf.net в системе Subversion. Для доступа к этому коду, Вам необходимо установить клиент Subversion.

Contents

Установка клиента Subversion

Под Windows я рекомендую установить клиент, разработанный создателями системы Subversion: TortoiseSVN. Он интегрируется в операционную систему и позволяет легко выполнять все версионные операции.

Принципы версионной работы

Работа в версионной системе с одной стороны значительно упрощает одновременную разработку проекта, но с другой стороны требует определенной осторожности при работе с ней. Общая идеология работы состоит в следующем:

  1. Все файлы находятся на сервере.
  2. Для того, чтобы изменить какой-то файл, мы загружаем его на локальный компьютер. Обычно, разработчик загружает на компьютер весь проект, это называется project check out.
  3. Далее, разработчик редактирует исходный код по своему усмотрению.
  4. После того, как некоторая часть кода была написана, разработчик сохраняет изменения на сервере (check in или commit).

Что позволяет делать версионная система

Версионная система позволяет:

  • Отслеживать изменения файла. Каждое сохранение файла на сервер не заменяет файл на сервере, а создает еще одну версию этого файла. При этом остается возможность просмотреть файлы более ранних версий, просмотреть совершенные изменения и т.п.
  • Организовать одновременную работу с одним файлом нескольких человек. Подробности описаны ниже.

Параллельная работа с файлом

При работе над проектом, есть вероятность (а в случае Synhe она близка к единице), что разные разработчики будут одновременно редактировать один и тот же файл. При этом, если изменения в файле расположены достаточно далеко друг от друга, то они считаются системой независимыми и система в состоянии сама объединить (merge) изменения от двух разработчиков. Если же изменения сделаны в близких участках кода, то разработчикам приходится обрабатывать такие накладки вручную. Для простоты приведу пример.

  1. На сервере находится файл a.js версии 5.
  2. Разработчики А и Б получают (checkout) этот файл с сервера.
  3. Разработчик А делает небольшое изменение в начале файла и сохраняет его на сервере (при этом на сервере получается версия 6).
  4. Разработчик Б в это время долго работает в конце файла и, наконец, хочет сохранить изменения на сервере.
  5. Система оповещает Б, что файл был изменен и загружает версию 6 на компьютер Б (сохраняя изменения, сделанные Б).
  6. Разработчик Б просматривает файл еще раз, чтобы убедиться, что объединение произошло корректно и сохраняет файл на сервере (версия 7).

Если при этом разработчики сделали изменения в близких частях кода, то Б прийдется, просматривая файл, вручную объединить изменения А и Б. TortoiseSVN при этом цветом выделяет соответствующие изменения, всячески способствуя ускорению процесса.

Простые правила

Таким образом, можно написать несколько простых правил, которые значительно ускорят процесс работы с SVN:

  1. Перед тем, как изменить файлы, обновите их с сервера (update). Это гарантирует, что вы увидите все уже сохраненные изменения других разработчиков.
  2. После того, как вы изменили код и протестировали его, сразу же сохраните его на сервере. Это позволит другим видеть Ваши изменения.
  3. Переименовывайте и удаляйте версионные файлы соответствующими командами SVN. Так вы передадите информацию о переименовании или удалении как серверу, так и другим разработчикам.

SVN: Synhe

Для доступа к исходным текстам Synhe, Вам нужно зарегистрироваться на sf.net и получить соответствующие права у меня или у Гриши. Далее, Вы создаете каталог, в котором хотите держать исходный текст Synhe, щелкаете на нем правой кнопкой мыши, выбираете TortoiseSVN->Checkout и в адресе репозитория (место, где хранятся файлы на сервере) пишете строку:

https://svn.sourceforge.net/svnroot/synhe

Имя и пароль система Вас спросит при первом сохранении файлов (т.к. доступ на чтение есть у всех пользователей, в том числе и анонимных).

--Paulus 22:15, 14 April 2006 (UTC)

Personal tools