Настройка системы контроля версий SVN

MATLAB® обеспечивает встроенную интеграцию SVN для использования с Subversion® (SVN) песочницы и репозитории. Поскольку реализация встроена к MATLAB, вы не должны устанавливать SVN. Встроенная поддержка интеграции SVN защищает имя для входа в систему. Это интегрирование игнорирует любую существующую установку SVN.

Опции системы контроля версий SVN

Использовать версию SVN предоставило MATLAB, когда вы получаете файл из системы контроля версий, выберите SVN в списке Source control integration. Для инструкций смотрите выезд от репозитория SVN. Когда вы создаете новую песочницу с помощью MATLAB встроенное интегрирование SVN, новая песочница использует последнюю версию SVN, обеспеченного MATLAB.

Внимание

Перед использованием системы контроля версий необходимо зарегистрировать двоичные файлы с инструментами системы контроля версий, чтобы избежать повреждения. Смотрите Регистрируют Двоичные Файлы с SVN.

Если необходимо использовать версию SVN кроме встроенной версии, можно создать репозиторий с помощью опции Source control integration Command-Line SVN Integration (compatibility mode), но необходимо также установить клиент SVN командной строки.

Интегрирование SVN командной строки передает с любой Subversion (SVN) клиент, который поддерживает интерфейс командной строки. С Command-Line SVN Integration (compatibility mode), при попытке переименовать файл или папку к имени, которое содержит символ, происходит ошибка, потому что SVN командной строки обрабатывает все символы после символ как значение версии штепселя.

Зарегистрируйте двоичные файлы с SVN

Если вы используете инструменты управления из независимого источника, необходимо указать MATLAB и расширения файла Simulink®, такие как .mlx, .mat, .fig, .mdl и .slx как двоичные форматы. Если вы не указываете расширения, эти инструменты могут повредить ваши файлы, когда вы представляете их путем изменения символов конца строки, расширения лексем, замены ключевыми словами или попытки автообъединить. Повреждение может произойти, используете ли вы инструменты системы контроля версий за пределами MATLAB или при попытке представить файлы из MATLAB без первой регистрации ваших форматов файлов.

Также проверяйте, что другие расширения файла указаны как двоичный файл, чтобы избежать повреждения при регистрации. Проверка и регистровые файлы, такие как .mdlp, .slxp, .sldd, .p, файлы MEX, .xlsx, .jpg, .pdf, .docx, и т.д.

Необходимо зарегистрировать двоичные файлы, если вы используете какую-либо версию SVN, включая встроенную интеграцию SVN, обеспеченную MATLAB. Если вы не указываете свои расширения как двоичный файл, SVN может добавить аннотации в противоречивые файлы MATLAB и делать попытку автослияния. Избегать этой проблемы при использовании SVN, расширений регистрового файла.

  1. Найдите свой SVN файл config. Ищите файл в этих местоположениях:

    • C:\Users\myusername\AppData\Roaming\Subversion\config или C:\Documents and Settings\myusername\Application Data\Subversion\config на Windows®

    • ~/.subversion на Linux® или macOS

  2. Если вы не находите файл config, создайте новый. Смотрите Создают Файл конфигурации SVN.

  3. Если вы находите существующий файл config, вы ранее установили SVN. Отредактируйте файл config. Смотрите Обновление Существующий Файл конфигурации SVN.

Создание файла конфигурации SVN

  1. Если вы не находите SVN файлом config, создайте текстовый файл, содержащий эти строки:

    [miscellany]
    enable-auto-props = yes
    [auto-props]
    *.mlx = svn:mime-type=application/octet-stream
    *.mat = svn:mime-type=application/octet-stream
    *.fig = svn:mime-type=application/octet-stream
    *.mdl = svn:mime-type=application/octet-stream
    *.slx = svn:mime-type= application/octet-stream
  2. Проверяйте на другие типы файлов, вы используете это, также необходимо указать как двоичный файл, чтобы избежать повреждения при регистрации. Проверяйте на файлы, такие как .mat, .mdlp, .slxp, .p, файлы MEX (.mexa64, .mexmaci64, .mexw64), .xlsx, .jpg, .pdf, .docx, и т.д. Добавьте строку в файл config для каждого типа файла, в котором вы нуждаетесь. Примеры:

    *.mdlp  = svn:mime-type=application/octet-stream
    *.slxp  = svn:mime-type=application/octet-stream
    *.sldd  = svn:mime-type=application/octet-stream
    *.p  = svn:mime-type=application/octet-stream
    *.mexa64  = svn:mime-type=application/octet-stream
    *.mexw64  = svn:mime-type=application/octet-stream
    *.mexmaci64  = svn:mime-type=application/octet-stream
    *.xlsx  = svn:mime-type=application/octet-stream
    *.docx  = svn:mime-type=application/octet-stream
    *.pdf  = svn:mime-type=application/octet-stream
    *.jpg  = svn:mime-type=application/octet-stream
    *.png  = svn:mime-type=application/octet-stream
  3. Назовите файл config и сохраните его в соответствующем месте:

    • C:\Users\myusername\AppData\Roaming\Subversion\config или C:\Documents and Settings\myusername\Application Data\Subversion\config на Windows

    • ~/.subversion на Linux или macOS.

После того, как вы создадите SVN файл config, SVN обрабатывает новые файлы с этими расширениями как двоичный файл. Если у вас уже есть двоичные файлы в репозиториях, смотрите Регистровые файлы Уже в Репозиториях.

Обновление существующего файла конфигурации SVN

Если вы находите существующий файл config, вы ранее установили SVN. Отредактируйте файл config к регистровым файлам как двоичный файл.

  1. Отредактируйте файл config в текстовом редакторе.

  2. Найдите раздел [miscellany] и проверьте, что следующая строка включает auto-props с yes:

    enable-auto-props = yes 
    Гарантируйте, что эта строка не прокомментирована (то есть, что она не запускается с #). Файлы конфигурации могут содержать строки в качестве примера, которые комментируются. Если существует символ # в начале строки, удалите его.

  3. Найдите раздел [auto-props]. Гарантируйте, что [auto-props] не прокомментирован. Если существует символ # вначале, удалите его.

  4. Добавьте следующие строки в конце раздела [auto-props]:

    *.mlx = svn:mime-type=application/octet-stream
    *.mat = svn:mime-type=application/octet-stream
    *.fig = svn:mime-type=application/octet-stream
    *.mdl = svn:mime-type=application/octet-stream
    *.slx = svn:mime-type= application/octet-stream
    Эти строки препятствуют тому, чтобы SVN добавил аннотации в MATLAB и файлы Simulink на конфликте и от автослияния.

  5. Проверяйте на другие типы файлов, вы используете это, также необходимо указать как двоичный файл, чтобы избежать повреждения при регистрации. Проверяйте на файлы, такие как .mdlp, .slxp, .p, файлы MEX (.mexa64, .mexmaci64, .mexw64), .xlsx, .jpg, .pdf, .docx, и т.д. Добавьте строку в файл config для каждого типа файла, который вы используете. Примеры:

    *.mdlp  = svn:mime-type=application/octet-stream
    *.slxp  = svn:mime-type=application/octet-stream
    *.sldd  = svn:mime-type=application/octet-stream
    *.p  = svn:mime-type=application/octet-stream
    *.mexa64  = svn:mime-type=application/octet-stream
    *.mexw64  = svn:mime-type=application/octet-stream
    *.mexmaci64  = svn:mime-type=application/octet-stream
    *.xlsx  = svn:mime-type=application/octet-stream
    *.docx  = svn:mime-type=application/octet-stream
    *.pdf  = svn:mime-type=application/octet-stream
    *.jpg  = svn:mime-type=application/octet-stream
    *.png  = svn:mime-type=application/octet-stream
  6. Сохраните файл config.

После того, как вы создадите или обновите SVN файл config, SVN обрабатывает новые файлы как двоичный файл. Если вы уже имеете файлы в репозиториях, указываете их, как описано в Регистровых файлах Уже в Репозиториях.

Регистровые файлы уже в репозиториях

Внимание

Изменение вашего SVN, файл config не влияет на файлы уже, согласилось на репозиторий SVN. Если файл не зарегистрирован как двоичный файл, используйте svn propset, чтобы вручную зарегистрировать файлы как двоичный файл.

Чтобы вручную зарегистрировать файл в репозитории как двоичный файл, используйте следующую команду с SVN командной строки:

svn propset svn:mime-type application/octet-stream binaryfilename

Стандартная структура репозитория

Создайте свой репозиторий со стандартным tags, trunk и папками branches, и получите файлы из trunk. Проект Subversion рекомендует эту структуру. Смотрите веб-страницу:

Если вы используете MATLAB, чтобы создать репозиторий SVN, он создает стандартную структуру репозитория. Чтобы позволить пометить, репозиторий должен иметь стандартные папки trunk/ и tags/. После того, как вы создадите репозиторий с этой структурой, можно нажать Tag в контекстном меню Source Control, чтобы добавить теги во все файлы. Для получения дополнительной информации смотрите Версии Тега Файлов.

Маркировка версий файлов

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

  1. Щелкните правой кнопкой по Браузеру текущей папки и выберите Source Control> Tag.

  2. Задайте текст тега и нажмите Submit. Тег добавляется к каждому файлу в папке. Ошибки появляются, если у вас нет папки tags в вашем репозитории.

Примечание

Можно получить теговую версию файлов от системы контроля версий, но вы не можете пометить их снова с новым тегом. Необходимо получиться, из trunk создаете новые теги.

Осуществление файлов блокировки перед редактированием

Чтобы потребовать, чтобы пользователи не забыли получать блокировку на файлах перед редактированием, сконфигурируйте SVN к make-файлам с заданными расширениями, только для чтения. Когда ваши файлы только для чтения, необходимо выбрать Right-click в Браузере текущей папки и выбрать Source Control> Get File Lock, прежде чем можно будет отредактировать их. Эта установка предотвращает редактирование файлов, не получая блокировку файла. Когда файл имеет блокировку, другие пользователи знают, что файл редактируется, и можно избежать проблем слияния.

Чтобы осуществить файлы блокировки, измените записи в SVN файл config. Чтобы определить местоположение вашего SVN файл config, смотрите, Регистрируют Двоичные Файлы с SVN.

  1. К make-файлам с расширением .m, только для чтения, добавьте свойство в свой SVN файл config в разделе [auto-props]. Если нет никакой записи для файлов с расширением .m, добавьте один со свойством needs-lock.

    *.m = svn:needs-lock=yes

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

  2. К make-файлам с расширением .mlx, только для чтения, добавьте свойство в свой SVN файл config в разделе [auto-props]. Поскольку вы должны регистровые файлы с расширением .mlx как двоичный файл, существует запись для типа файла. Добавьте свойство needs-lock в запись в любом порядке, но на той же строке и разделенный точкой с запятой.

    *.mlx = svn:mime-type=application/octet-stream;svn:needs-lock=yes 
  3. Воссоздайте песочницу для настройки, чтобы вступить в силу.

С этой установкой необходимо выбрать Get File Lock, прежде чем можно будет отредактировать файлы с расширением .m. Смотрите Получают Блокировки Файла SVN.

Совместное использование репозитория Subversion

Можно задать местоположение репозитория с помощью протокола file://. Однако документация Subversion строго рекомендует что только однопользовательский доступ репозиторий непосредственно через URL file://. Смотрите веб-страницу:

Внимание

Не позволяйте многому пользователю получать доступ к репозиторию непосредственно через URL file://, или вы рискуете повреждать репозиторий. Используйте URL file:// только для однопользовательских репозиториев.

Знайте об этой осторожности, если вы используете MATLAB, чтобы создать репозиторий. MATLAB использует протокол file://. Создание новых репозиториев обеспечивается для локального, однопользовательского доступа только для тестирования и отладки. Доступ к репозиторию через URL file:// медленнее, чем использование сервера.

Когда это необходимо, чтобы совместно использовать репозиторий, необходимо настроить сервер. Можно использовать svnserve или модуль SVN Apache™. Смотрите ссылки веб-страницы:

Похожие темы