Отслеживание версий с Subversion (SVN) для начинающих

Оглавление:

Отслеживание версий с Subversion (SVN) для начинающих
Отслеживание версий с Subversion (SVN) для начинающих
Anonim
Вы когда-нибудь хотели работать над проектом с возможностью отслеживать свои изменения, а также возвращать их? How-To Geek объясняет How-To использование популярной системы отслеживания версий Subversion (a.k.a SVN).
Вы когда-нибудь хотели работать над проектом с возможностью отслеживать свои изменения, а также возвращать их? How-To Geek объясняет How-To использование популярной системы отслеживания версий Subversion (a.k.a SVN).

Изображение по Четко Неоднозначное

Прелог

Это руководство будет нацелено на то, чтобы предоставить вам возможность использовать клиента subversion в целом и, если он у вас есть, на вашем маршрутизаторе * DD-WRT. Это руководство ни в коем случае не является окончательным руководством для Subversion, и много информации можно найти в Красной книге Subversion. Это руководство предназначено только для краткого ответа на самые основные вопросы.

обзор

Могут быть многочисленные причины, по которым вы захотите «проверить» последний код для программного проекта, который использует систему управления версиями. Это позволяет вам воспользоваться последними, еще не выпущенными изменениями, помочь в тестировании и даже разработке. В этом руководстве мы рассмотрим некоторую базовую терминологию SVN, покажем, как установить клиент SVN в Linux, Windows и если у вас есть один маршрутизатор DD-WRT с поддержкой OPKG. Мы также включили пример проекта, который вы можете проверить и использовать для указанного маршрутизатора.

Что такое Subversion?

Subversion никоим образом не является единственной системой управления версиями, и альтернативы включают Git (который был создан Линусом Торвальдсом, основателем ядра Linux), Mercurial и PerForce, чтобы назвать несколько. С учетом сказанного, это один из бесплатных, он зрелый и широко используется во всем мире.

Из подрывной «Красной книги»:

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

Примечание: Эта книга является окончательный сбор знаний о подрывной деятельности, и вам рекомендуется обратиться к нему по всем темам, связанным с Subversion.

Что такое Versioning?

Версии - это процесс, в котором сохраняется состояние проекта в определенный момент времени. Эта процедура часто используется для управления разработкой программного обеспечения, поэтому работа может продолжать улучшать проект или добавлять функции, а также отслеживать, что изменилось с последней общей точки «сохранения». Чтобы разработать, такая процедура может быть полезна для одного человека, но тем более для группы людей, работающих по одному и тому же проекту. Это связано с тем, что, как правило, при работе над проектом в качестве группы существует распределение обязанностей, а разные люди меняют разные аспекты проекта. Без механизма управления версиями было бы очень сложно синхронизировать всех последних рабочих изменений со всеми остальными.

терминология

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

пересмотр

Когда создается репозиторий, ему присваивается номер версии ноль (0). Это число увеличивается на 1 (1) каждый раз, когда выполняется фиксация. Номер ревизии является глобальным для репозитория. То есть, нет отдельного номера ревизии для отдельных файлов в репозитории, даже если в этом файле ничего не изменилось для этого конкретного коммита.

Рабочая копия

Рабочая копия - это локальная копия (или «checkout») конкретной версии. Обычно эта версия при извлечении является «последней» (также называемой «голова»), но может быть запрошена предыдущая. Пользователь может сделать с местной копией все, что он или она желает, со знанием, что в худшем случае они могут просто проверить код снова. Более того, эта копия является «частной». Это связано с тем, что пока вы не обновляете или не копируете свою копию, вы не увидите изменений других людей и не увидите их.

Обновление и разрешение конфликтов

Локальная рабочая копия может быть обновлена. То есть, если вы «проверили» определенную версию и во время работы обновили версию в репозитории, вы можете обновить свою рабочую копию до последней. Фактически, сервер не позволит вам совершать изменения до того, как вы перейдете к последней версии, чтобы соответствовать репозиторию. Это делается для того, чтобы заставить вас разрешать конфликты локально, прежде чем вы даже подумаете о внесении изменений в репозиторий.

сращивание

Слияние относится к процессу, посредством которого измененный код смешивается с одной версией. Это может также повлечь за собой разрешение конфликтов.

Фиксации

Committing - это процесс, в котором изменения, внесенные вами в локальную копию, будут объединены обратно в репозиторий. Это самая опасная часть процесса, так как именно здесь изменения, которые вы внесли, могут повлиять на других людей, использующих один и тот же репозиторий. Вот почему это обычно делается после некоторого рассмотрения, с консенсусом команды и после того, как вы разрешили конфликты слияния.

Рабочий процесс

Самый основной рабочий процесс с точки зрения пользователя при использовании subversion заключается в следующем:

1. Оформить существующий код (обычно «голова»). 2. Внесите изменения, добавьте файлы и, как правило, создайте код. 3. Обновите последнюю версию, чтобы убедиться, что локальная копия синхронизирована с обновлениями в репозитории. 4. Локально объединять и разрешать конфликты, если это необходимо. 5. Зафиксируйте объединенные изменения в репозитории. 6. Перейдите к шагу 2.

Позволяет растрескиваться

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

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

В Linux

Вам нужно только установить пакет. На Ubuntu / Mint это будет сделано с:

sudo aptitude install subversion

В DD-WRT

Если вы следовали «Как установить дополнительное программное обеспечение на своем домашнем маршрутизаторе (DD-WRT)», вы можете установить клиент svn, просто выпустив:

opkg update; opkg install subversion-client

В Windows

В то время как мы глубоко подражаем, пользователи могут забыть, что графический интерфейс даже существует порой, не у всех. Если вы хотите использовать клиент Windows для подключения к репозиторию SVN, самым популярным из них является «Черепаха». Чтобы использовать его, просто загрузите программу и установите ее в обычном порядке «next, next, finish».

Создайте "репозиторий"

Хотя мы не будем подробно останавливаться на том, как настроить сервер subversion в этом руководстве, альтернатива Google не является плохим началом для начинающего пользователя. Чтобы создать репозиторий Google:

  • Перейдите на сайт хостинга Google Code и создайте новый проект.

    Image
    Image
  • На следующей странице заполните необходимые поля и выберите тип «системы управления версиями», которая будет подрывной.

    Image
    Image

    Примечание. Возможно, вам захочется взглянуть на то, какая разница между предлагаемыми вами лицензиями, прежде чем вы выберите один для проекта.

  • Нажмите «Создать проект».

«Оформить заказ» в вашей рабочей копии

После создания проекта вы должны найти инструкции по доступу к нему на вкладке «Источник».

Хорошая вещь о коде Google - это то, что она позволит анонимную версию для вашего проекта только для чтения. Если вы не хотите справляться с проблемой создания собственного проекта, вы можете анонимно проверить этот репозиторий этого автора.
Хорошая вещь о коде Google - это то, что она позволит анонимную версию для вашего проекта только для чтения. Если вы не хотите справляться с проблемой создания собственного проекта, вы можете анонимно проверить этот репозиторий этого автора.

Одна заметка о проекте hotfortech: этот проект призван стать оболочкой для функций, которые были добавлены в DD-WRT на How-To Geek (что я лично использую), а также некоторые личные настройки. Хотя этот проект предназначен для совместной работы со статьями, опубликованными здесь на howtogeek, это по-прежнему мой частный проект. То есть, он очень подходит для моего маршрутизатора Buffalo (архитектура AR71xx), моих личных прихотей и склонен к случайному борзанку.

В Linux / DD-WRT

Создайте каталог для работы, например, на DD-WRT, который может быть:

mkdir -p /jffs/svn; cd /jffs/svn

Полная команда в Linux состоит из самой команды SVN, директивы «checkout», адреса репозитория и каталога для проверки. Создайте пустой каталог и выполните следующую команду:

svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

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

В Windows

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

Image
Image
  • Создайте пустой каталог.
  • Щелкните правой кнопкой мыши, чтобы вызвать контекстное меню.
  • Выберите «SVN Checkout»:

    Image
    Image
  • Скопируйте и вставьте ссылку для проекта (если она есть) в текстовое поле «URL»:

    Image
    Image
  • В зависимости от размера вашего проекта это может занять некоторое время, но когда «Checkout» будет завершена, вы увидите что-то вроде:

    Image
    Image
  • Вы можете начать развиваться.

«Обновить» и «Слить» вашу рабочую копию Если вы работаете над кодом с коллегами или сами себя обновляете код из нескольких мест (например, ноутбук, рабочий стол или даже маршрутизатор), вам необходимо будет обновить рабочую копию, прежде чем совершать последние изменения.

В Linux / DD-WRT

Команда для этого в этих POSIX-системах проста:

svn up

В Windows

  • Щелкните правой кнопкой мыши в рабочем каталоге и выберите «SVN Update»:

    Image
    Image
  • Если вы столкнулись с конфликтами, попробуйте следовать инструкциям на экране и используйте свое мнение о том, что с ними делать.

«Зафиксировать» ваши изменения То есть, вы должны быть свободны от конфликтов и готовы обновить репозиторий своими изменениями. Здесь следует отметить, что распространять практику сообщения «лог» на фиксацию является общепринятой практикой, чтобы можно было легко вспомнить, почему были сделаны изменения. Фактически, репозиторий Google делает это обязательным предварительным требованием к совершению.

В Linux / DD-WRT

Это пример совершения, который я сделал для проекта hotfortech, который увеличил его до версии 19:

svn commit -m “updated to reflect new ant-ads pack link”

В Windows

  • Щелкните правой кнопкой мыши в рабочем каталоге и выберите «SVN Commit»:

    Image
    Image
  • Вам следует приветствовать окно, которое позволяет вам отметить сообщение журнала:

    Image
    Image
  • Нажмите «ОК» и, когда будет предложено ввести пароль, укажите пароль Google.
  • Если фиксация прошла успешно, вы должны увидеть что-то вроде:

    Image
    Image
  • То есть, вы должны иметь возможность совершать как BOSS.

Заключительные замечания Этого должно быть достаточно, чтобы вы начали. Вам рекомендуется прочитать справочники SVN, чтобы получить более глубокое и лучшее понимание всех обычаев, опций и предостережений SVN. Кроме того, мы напоминаем вам (снова), что подрывная деятельность НЕ является единственной системой контроля версий, и GIT (которая была создана Линусом Торвальдсом, основателем ядра Linux), как представляется, набирает популярность в последние годы.

Если вы захотите запустить «running-config.sh» из проекта hotfortech на своем маршрутизаторе, вы обнаружите, что он будет в настоящее время установлен для вас: анти-пакет объявлений, скрипт Opg geek-init, а также такие вещи, как полные GNU «ls», «less», «BASH» и многое другое.

/jffs/svn/hotfortech-dd-wrt/running-conf.sh

Дополнительные функции ожидаются и будут добавлены в будущем.

Системные администраторы будут кодировать свой путь из кодирования.

Рекомендуемые: