LXF70:Subversion2
Broom (обсуждение | вклад) (Начат перенос статьи) |
Broom (обсуждение | вклад) (Часть 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 для обеспечения безопасности |