Журнал LinuxFormat - перейти на главную

LXF70:Subversion2

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Начат перенос статьи)
 
(Часть 1)
Строка 11: Строка 11:
 
несомненно, примененяется наиболее часто. Руководство будет содержать те же примеры, что и в предыдущем случае. На страницах обзора
 
несомненно, примененяется наиболее часто. Руководство будет содержать те же примеры, что и в предыдущем случае. На страницах обзора
 
вы сможете узнать о том, как загружать, изменять, добавлять файлы, а также анализировать проделанную работу, что, будет вполне достаточно для того, чтобы сделать свой личный вклад в ваш любимый проект.
 
вы сможете узнать о том, как загружать, изменять, добавлять файлы, а также анализировать проделанную работу, что, будет вполне достаточно для того, чтобы сделать свой личный вклад в ваш любимый проект.
 +
 +
=== Часть 1 - загрузка проекта с сервера Subversion ===
 +
'''Первое, что надо сделать, если вы работаете над проектом''', который находится под управлением сервера ''Subversion'', - загрузить вашу собственную рабочую копию исходных текстов. Эту тему мы уже обсуждали в прошлый раз, и все, что вам потребуется вспомнить - это то, что мы использовали команду '''svn co''':
 +
 +
<code>
 +
$ svn co file:///usr/share/subres.
 +
A subres/helloworld.cpp
 +
A subres/Makefile
 +
Checkedout revision 1
 +
</code>
 +
 +
Путь к хранилищу исходных текстов обычно начинается с ‘svn://’, что говорит о внешнем соединении с репозитарием, расположенным где-то в недрах сети Интернет. Но вы также можете указать локальный репозитарий (используя ‘file://’), который мы вместе создали в прошлый раз. Работа на локальном уровне значительно упрощает процесс экспериментирования, особенно в плане обновления данных. В случае
 +
работы с удаленными репозитариями получить права на запись сложней, по вполне понятным причинам. Так что ради того, чтобы поэкспериментировать, стоит создать и настроить собственное локальное хранилище исходных текстов абстрактного проекта.
 +
 +
Если у вас, как вы думаете, осталась работающая копия репозитария ''Subversion'' с прошлого раза, вы можете запросто проверить это при помощи команды '''svn info''':
 +
 +
<code>
 +
$ cd subres; svn info
 +
Path: .
 +
URL: file:///usr/share/subres
 +
Repository UU ID: 6319a556-cbf4-0310-b561-de3fb53aee82
 +
Revision: 1
 +
Node Kind: directory
 +
Schedule: normal
 +
Last Changed Author: graham
 +
Last Changed Rev: 1
 +
Last Changed Date: 2005-04-15 16:33:44 +0100 (Fri, 15 Apr
 +
2005)
 +
</code>
 +
 +
Если вас интересует, как ''Subversion'' справляется с различиями между вашей работающей копией и той, которая содержится в репозитарии, вы будете приятно удивлены, узнав, что ответ кроется в папке ''.svn'' – административной директории. Здесь содержится вся необходимая ''Subversion'' информация для управления различиями 2-х версий дерева исходных текстов, например, расширения файлов и даты их модификации. Практически каждое ваше действие касательно ''Subversion'' отражается в административной директории, а ее редактирование вручную приведет только к лишним проблемам.
 +
 +
==== Добираемся до репозитория (врезка) ====
 +
Путь к репозитарию зависит от протокола, который указывается в начале адреса:
 +
{|
 +
|file://
 +
|используется для прямого доступа к файлам, хранящимся в вашей файловый системе
 +
|-
 +
|http://
 +
|протокол WebDAV, сконфигурированный на сервере ''Apache''
 +
|-
 +
|https://
 +
|то же самое, что и в предыдущем случае, но с добавлением SSL-шифрования
 +
|-
 +
|svn://
 +
|родной протокол ''Subversion'', поддерживаемый демоном ''svnserve''
 +
|-
 +
|svn+ssh://
 +
|протокол ''Subversion'', дополненный SSH для обеспечения безопасности
 +
|}

Версия 08:45, 10 марта 2008

Subversion. Используем клиент

ЧАСТЬ 2: У вас уже есть репозитарий Subversion – теперь попробуем работу с Subversion в качестве клиента. Грэм Моррисон расскажет, что надо делать.

Надеемся, после введения в работу с Subversion, вы вполне можете избавить себя от старых CVS-серверов, которые, должно быть, пылятся в какой-нибудь темной комнате. Мы показали, что перейти на новое поколение программного обеспечения для контроля версий достаточно легко (а почему бы и нет, когда уже не существует свободно распространяемой версии BitKeeper). Тем не менее, настройка и администрирование сервера Subversion потребуют определенных навыков, которые должны пригодится каждому менеджеру проектов. В этом номере мы предоставим наиболее распространенное решение для большинства разработчиков – использование Subversion в качестве клиента.

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

Использование клиента Subversion – это также и заманчивый способ скачать последние исправления в каком-нибудь программном продукте, например, обновления безопасности и новые возможности, которые только-только появились в основной ветке. Вам придется быть внимательным, так как все, что доступно в репозитарии Subversion, постоянно находится «в движении». Каждый день можно наблюдать некоторые изменения, порой достаточно значительные. Это даже похоже на чтение книги, которую еще не закончил писать ее автор.

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

Часть 1 - загрузка проекта с сервера Subversion

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

$ svn co file:///usr/share/subres.
A subres/helloworld.cpp
A subres/Makefile
Checkedout revision 1

Путь к хранилищу исходных текстов обычно начинается с ‘svn://’, что говорит о внешнем соединении с репозитарием, расположенным где-то в недрах сети Интернет. Но вы также можете указать локальный репозитарий (используя ‘file://’), который мы вместе создали в прошлый раз. Работа на локальном уровне значительно упрощает процесс экспериментирования, особенно в плане обновления данных. В случае работы с удаленными репозитариями получить права на запись сложней, по вполне понятным причинам. Так что ради того, чтобы поэкспериментировать, стоит создать и настроить собственное локальное хранилище исходных текстов абстрактного проекта.

Если у вас, как вы думаете, осталась работающая копия репозитария Subversion с прошлого раза, вы можете запросто проверить это при помощи команды svn info:

$ cd subres; svn info
Path: .
URL: file:///usr/share/subres
Repository UU ID: 6319a556-cbf4-0310-b561-de3fb53aee82
Revision: 1
Node Kind: directory
Schedule: normal
Last Changed Author: graham
Last Changed Rev: 1
Last Changed Date: 2005-04-15 16:33:44 +0100 (Fri, 15 Apr
2005)

Если вас интересует, как Subversion справляется с различиями между вашей работающей копией и той, которая содержится в репозитарии, вы будете приятно удивлены, узнав, что ответ кроется в папке .svn – административной директории. Здесь содержится вся необходимая Subversion информация для управления различиями 2-х версий дерева исходных текстов, например, расширения файлов и даты их модификации. Практически каждое ваше действие касательно Subversion отражается в административной директории, а ее редактирование вручную приведет только к лишним проблемам.

Добираемся до репозитория (врезка)

Путь к репозитарию зависит от протокола, который указывается в начале адреса:

file:// используется для прямого доступа к файлам, хранящимся в вашей файловый системе
http:// протокол WebDAV, сконфигурированный на сервере Apache
https:// то же самое, что и в предыдущем случае, но с добавлением SSL-шифрования
svn:// родной протокол Subversion, поддерживаемый демоном svnserve
svn+ssh:// протокол Subversion, дополненный SSH для обеспечения безопасности
Персональные инструменты
купить
подписаться
Яндекс.Метрика