Как настроить инструмент управления версиями документов с помощью Subversion, часть 1 [Linux]

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

Шаг 1. Настройка хранилища документов

Первый шаг - создать библиотеку ваших документов. Мы будем использовать инструмент Subversion (он же svn), ключевым преимуществом которого является поддержка файлов, отличных от простого (кода) текста. Это означает, что файлы LibreOffice, графика, созданная в GIMP или Inkscape, и даже аудио и видео - все это честная игра.

Чтобы создать библиотеку (или репозиторий), нам понадобится клиент Subversion. Я использую KDE и считаю, что kdesvn - отличный выбор. Вы можете установить его в дистрибутиве на основе Ubuntu с помощью следующей команды:

Когда это будет завершено и вы запустите kdesvn, вы увидите экран, показанный ниже:

kdesvn-mainwindow

Это главный экран, на котором вы будете перемещаться по своему репозиторию… как только вы его создадите! Давайте сделаем это. В меню "Файл" выберите "Администратор Subversion> Создать и открыть новый репозиторий". Вы получите диалоговое окно, в котором вы можете указать, где вы хотите сохранить репозиторий (в этой демонстрации я использую "/ home / aaron / myrepo"). Если вы не хотите управлять своими файлами, например кодом, включая "ствол" (или "главную" копию ваших файлов), ветки (или новые варианты, еще не включенные в "ствол") и "теги" (которые отслеживают основные версии программного обеспечения, такие как "v1.0"), вы можете отменить выбор параметра "Создавать основные папки" и принять значения по умолчанию для других параметров.

kdesvn-createrepository

kdesvn-repositoryoptions

После того, как вы создали свой репозиторий, пора добавить туда несколько документов. Вы можете либо перетащить сюда папки со своего рабочего стола, либо использовать команду меню "Subversion> Общие> Импортировать папки в текущую".

Совет: Если вы поместите несколько папок в "корень" репозитория, вам придется выбирать каждую из них по отдельности. Если вы хотите иметь возможность выполнить одно глобальное обновление, включающее все файлы, над которыми вы работаете, убедитесь, что в корне есть одна папка. Например, все папки и подпапки моего проекта находятся под папкой "Документы".

После импорта этих файлов их текущие версии сохраняются в репозитории. Чтобы начать отслеживать, какие файлы вы изменили, вам необходимо загрузить самую последнюю версию из репозитория (да, вы загружаете файлы, которые у вас уже есть - разница в том, что когда вы загружаете из репозитория, Subversion также отправляет информацию о версии, чтобы можно было отслеживать обновления). В меню "Subversion> Repository" выберите "Check out current repository path" и выберите место для повторной загрузки файлов, которые вы только что загрузили. Вы только что сделали "Рабочую копию".

Когда вы редактируете Рабочие копии документов, kdesvn уведомит вас об обновлении репозитория. Откройте вашу рабочую копию, закрыв репозиторий (используя "Файл> Закрыть" или кнопку "Закрыть" на панели инструментов), щелкнув "Файл> Открыть", выбрав каталог, в котором вы "извлекли" путь к репозиторию.

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

Шаг 2: Обновление документов на машине-репозитории

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

kdesvn-updatefolder

Совет: При создании новых файлов Subversion не предполагает автоматически включать их в репозиторий. К счастью, если вы перейдете в корень своей Рабочей копии и нажмете "Subversion> Working Copy> Проверить неверсированные элементы", отобразится список файлов, которые еще не зарегистрированы в репозитории. Вы можете использовать "Добавить выбранные файлы / каталоги" из меню или, если есть целая папка с элементами, "Добавить выбранные файлы / каталоги рекурсивно", чтобы добавить все в дерево каталогов, которых еще нет в репозитории.

Когда вы будете готовы обновить репозиторий, щелкните правой кнопкой мыши обновленный файл или любую папку в дереве (все они будут отмечены красным цветом и стрелкой вверх, поскольку файл под ними обновлен) и выберите "Совершить." Каждый раз, когда вы обновляете, Subversion будет менять номер ревизии, давая вам историю каждого значительного изменения в вашем файле - по крайней мере, если вы потрудились "зафиксировать" его.

kdesvn-commitdialog

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