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

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

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

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

Внимание

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

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

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

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

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

Также проверяйте, что другие расширения файла указаны как двоичный файл, чтобы избежать повреждения при регистрации. Проверка и регистровые файлы, такие как файлы 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
    *.mlapp = svn:mime-type= application/octet-stream
    *.p = svn:mime-type=application/octet-stream
    *.mdlp = svn:mime-type=application/octet-stream
    *.slxp = svn:mime-type=application/octet-stream
    *.sldd = svn:mime-type=application/octet-stream
    *.slxc = svn:mime-type=application/octet-stream
    *.mlproj = svn:mime-type=application/octet-stream
    *.mldatx = svn:mime-type=application/octet-stream
    *.slreqx = svn:mime-type=application/octet-stream
    *.sfx = svn:mime-type=application/octet-stream
    *.sltx = svn:mime-type=application/octet-stream
  2. Проверяйте на другие типы файлов, вы используете это, также необходимо указать как двоичный файл, чтобы избежать повреждения при регистрации. Проверяйте на файлы, такие как файлы MEX (.mexa64, .mexmaci64, .mexw64), .xlsx, .jpg, .pdf, .docx, и т.д. Добавьте линию на config файл для каждого типа файла вам нужно. Примеры:

    *.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
    *.mlapp = svn:mime-type= application/octet-stream
    *.p = svn:mime-type=application/octet-stream
    *.mdlp = svn:mime-type=application/octet-stream
    *.slxp = svn:mime-type=application/octet-stream
    *.sldd = svn:mime-type=application/octet-stream
    *.slxc = svn:mime-type=application/octet-stream
    *.mlproj = svn:mime-type=application/octet-stream
    *.mldatx = svn:mime-type=application/octet-stream
    *.slreqx = svn:mime-type=application/octet-stream
    *.sfx = svn:mime-type=application/octet-stream
    *.sltx = svn:mime-type=application/octet-stream
    
    Эти линии препятствуют тому, чтобы SVN добавил аннотации в MATLAB и файлы Simulink на конфликте и от автослияния.

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

    *.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 рекомендует эту структуру. См. https://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html.

Если вы используете 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 строго рекомендует что только однопользовательский доступ репозиторий непосредственно через file:// URL. Смотрите веб-страницу:

Внимание

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

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

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

Похожие темы