(ReactOS Wiki) Subversion

ReactOS Team, “(ReactOS Wiki) Subversion”, public translation into Russian from English More about this translation.

Translate into another language.

'''Subversion''' это система управления версиями, используемая ReactOS.

До 30 декабря 2004 года исходный код ReactOS находился в CVS-репозитории. Начиная с 1 января 2005 года, исходный код находится в Subversion-репозитории (SVN).

== Доступ к исходному коду ==

Для загрузки исходного кода вам потребуется [[Wikipedia:Comparison of Subversion clients|SVN-клиент]].

Структура ReactOS SVN:

[http://svn.reactos.org/svn/reactos/trunk/documentation/ Документация по ReactOS] - {{Svn-server}}reactos/trunk/documentation/ (documentation)

* [http://svn.reactos.org/svn/reactos/trunk/irc/ IRC-канал ReactOS] - {{Svn-server}}reactos/trunk/irc/

* [http://svn.reactos.org/svn/reactos/trunk/press-media/ Информация для прессы о ReactOS] - {{Svn-server}}reactos/trunk/press-media/

* [http://svn.reactos.org/svn/reactos/trunk/reactos/ ReactOS] - {{Svn-server}}reactos/trunk/reactos (ReactOS Operating system)

* [http://svn.reactos.org/svn/reactos/trunk/rosapps/ RosApps] - {{Svn-server}}reactos/trunk/rosapps (ReactOS Software on release version)

* [http://svn.reactos.org/svn/reactos/trunk/wallpaper/ Обои ReactOS] - {{Svn-server}}reactos/trunk/wallpaper/

* [http://svn.reactos.org/svn/web/trunk/ ReactOS и Интернет] - {{Svn-server}}web/trunk (ReactOS web content)

* [http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos ReactOS для AMD64] - {{Svn-server}}reactos/branches/ros-amd64-bringup/reactos

=== Windows ===

Для ОС Windows рекомендуется использовать клиент [http://tortoisesvn.net/downloads TortoiseSVN], прекрасно интегрирующийся в Проводник Windows.

Ещё один хороший SVN-клиент [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 SVN-клиент для командной строки]. Он также входит в состав приложения [[Среда сборки]] ReactOS для Windows.

=== Другие платформы ===

* Консольные клиенты для некоторых других платформ доступны [http://subversion.tigris.org/project_packages.html здесь].

* [http://subclipse.tigris.org/ Subclipse] (Подключаемый модуль для Eclipse)

=== Просмотр исходного кода он-лайн ===

Вы также можете просмотреть исходный код из репозитория он-лайн, посетив [http://svn.reactos.org/svn/reactos ViewVC] при помощи вашего браузера или перемещаясь по ежедневно обновляемой базе данных с перекрестными ссылками [http://doxygen.reactos.org doxygen].

== Использование SVN-клиентов ==

Использование SVN клиентов описано в отдельных статьях для каждого клиента:

* TortoiseSVN

** [[Subversion/Использование TortoiseSVN]]

** [[Subversion/Слияние в TortoiseSVN]]

* другие

** [[Subversion/Использование консольного клиента]]

== Коммиты ==

Коммиты - это данные, добавленные в SVN ReactOS. Термин "данные" использован здесь потому, что в SVN может добавляться не только код, но и любое медиа, включая значки и звуки. Если в SVN был отправлен коммит, то это значит, что он стал частью исходного кода ReactOS. Каждый коммит имеет свой собственный уникальный идентификационный номер и сообщение с описанием его предназначения.

=== Сообщения ===

Используются для облегчения написания [[список изменений|списков изменений]] для релизов. Ниже предлагается стандартный формат сообщения коммита. Такой формат нужен для того, чтобы можно было автоматически, с помощью скрипта, обработать целую серию ревизий SVN и составить список изменений, помещая все коммиты, касающиеся одного компонента, в одну категорию. Для этого в коммите должно находиться описание того, для какого компонента (компонентов) он предназначен.

[Имя Компонента]

-Описание изменений.

Например: (коммит [[User:J_anderw|Йоханнеса Андервальда]], {{rev|44141}}):

[KERNEL32]

* Don't access freed memory in GetVolumeNameForVolumeMountPointW

=== Оповещения ===

Существует несколько способов оповещения разработчиков о вновь отправленных коммитах.

* Письма, содержащие изменения каждого коммита, отправляются в список рассылки [http://www.reactos.org/archives/public/ros-diffs/ ros-diffs]. Это письма, содержащие изменения в данной ревизии в формате простого текста.

* Бот, размещающий сообщения из CIA на IRC-канале в комнате #reactos

* Страница [http://cia.vc/stats/project/ReactOS ReactOS на CIA] также показывает сообщения нескольких последних коммитов.

* Также, коммиты можно увидеть в блоге [http://reactos-cia.tumblr.com/ ReactOS CIA Tumblr].

== Запрос на право записи (право отправлять коммиты) в SVN ==

=== Условия [WIP] ===

Есть несколько обязательных условий для получения прямого и полного доступа на запись (так называемый "коммит-доступ") в главный репозиторий:

* Способность общаться на письменном английском языке.

* Будьте готовы раскрыть полные настоящее имя и почтовый адрес, по крайней мере для главных лиц проекта (т.е., главы разработчиков или руководителя проекта), и желательно раскрыть полное реальное имя для публичного доступа.

* Не иметь юридических ограничений по внесению кода в проекты с открытым исходным кодом.

=== Получение доступа для записи ===

С тех пор, как вы начали отправлять патчи и новый код для проекта, вас можно рассматривать, как разработчика. Мы предпочли бы не давать доступ тому, кто сделает два или три обновления, а потом перестанет. Таким образом, если вы не собираетесь отправлять патчи постоянно, а думаете делать это только время от времени, в таком случае вам лучше создавать записи в [http://reactos.org/bugzilla Bugzilla] и прикладывать файлы патчей к ним.

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

=== У кого уточнить? ===

Присоединитесь к IRC-каналу ReactOS в сети FreeNode [irc://irc.freenode.net/reactos #reactos] и задайте интересующий вас вопрос там.

Для получения дополнительной информации почитайте [http://www.reactos.org/en/community_irc.html IRC-каналы ReactOS]

== Устранение неисправностей ==

=== При обновлении SVN выдаётся сообщение: Object with the same name already exists ===

Когда вы обновляете свою рабочую копию, вы можете получить сообщение об ошибке ''object with the same name already exists'' (''объект с таким именем уже существует'').

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

Однако, это происходит не так уж часто. Есть два варианта правильного решения проблемы:

* Удалить каталог, вызывающий возникновение ошибки и вновь обновить вашу рабочую копию.

* Удалить в рабочей копии все файлы и каталоги, неизвестные Subversion, а затем снова обновить вашу рабочую копию.

== Ветвление ==

Обратитесь к статье [[Subversion/Ветви]]

== Дополнительная информация ==

Полная книга о Subversion доступна в Сети по адресу http://svnbook.red-bean.com.

[[Category:Development]]

[[Category:Source Control]]

Original (English): (ReactOS Wiki) Subversion

Translation: © evilslon, unxed, shorewall, seven_ro .

License: FDL

translated.by crowd

Like this translation? Share it or bookmark!