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

Настройте интегрирование SVN, предоставленное проект Simulink

Проект Simulink® обеспечивает Built-In SVN Integration для использования с Subversion® (SVN) песочницы и репозитории в версии 1.8. Вы не должны устанавливать SVN, чтобы использовать это интегрирование, потому что это включает реализацию SVN.

Примечание

Это интегрирование игнорирует любую существующую установку SVN.

Built-In SVN Integration поддерживает безопасное имя для входа в систему.

Чтобы использовать версию SVN, которому предоставляют Проект Simulink, в начальной странице, выбирают Project from SVN, чтобы получить из системы контроля версий, или когда вы добавляете проект к системе контроля версий, выберите Built-In SVN Integration в списке интегрирований Системы контроля версий. Для инструкций смотрите

Внимание

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

Когда вы создаете новую песочницу с помощью Проекта Simulink Built-In SVN Integration, новая песочница использует последнюю версию SVN, обеспеченного Проектом Simulink.

Когда ваш проект находится под системой контроля версий, можно использовать эти функции проекта:

Можно получить из ответвления, но Встроенное Интегрирование SVN проекта не поддерживает слияние ответвления. Используйте внешний инструмент, такой как TortoiseSVN, чтобы выполнить слияние ответвления. Можно использовать инструменты проекта для сравнения и слияния путем конфигурирования TortoiseSVN, чтобы сгенерировать отчет сравнения XML, когда вы выполняете diff на образцовых файлах. Смотрите Слияние Модели Simulink из Отчета Сравнения.

Настройте интегрирование SVN для версии SVN, уже установленной

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

Например:

  1. Создайте использование песочницы TortoiseSVN из Windows Explorer.

  2. Используйте Проект Simulink создать новый проект в той папке. Проект обнаруживает существующую систему контроля версий. Если песочница является версией 1.6, например, это остается песочница версии 1.6.

Примечание

Перед использованием системы контроля версий необходимо зарегистрировать образцовые файлы с инструментами. Смотрите Регистрируют Образцовые Файлы с Subversion.

Настройте интегрирование SVN для версии SVN, еще не предоставленной проект Simulink

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

Примечание

Выберите Command-Line SVN Integration (compatibility mode), только если необходимо использовать более позднюю версию SVN, чем 1,8. В противном случае используйте Built-In SVN Integration вместо этого, для большего количества функций, улучшенной производительности и никакой потребности установить дополнительный клиент SVN командной строки.

Интегрирование SVN командной строки передает с любой Subversion (SVN) клиент, который поддерживает интерфейс командной строки.

  1. Установите клиент SVN, который поддерживает интерфейс командной строки.

    Примечание

    TortoiseSVN не поддерживает интерфейс командной строки, если вы не выбираете опцию, чтобы установить инструменты командной строки. Также можно продолжить использовать TortoiseSVN от Windows Explorer после установки другого клиента SVN, который поддерживает интерфейс командной строки. Гарантируйте, чтобы номера основной версии соответствовали, например, оба клиента являются SVN 1.7.

    Можно найти клиенты Subversion на этой веб-странице:

  2. В Проекте Simulink выберите Command-Line SVN Integration (compatibility mode).

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

Совет

Можно проверить на обновленные загрузки интегрирования системы контроля версий на веб-странице Проектов Simulink: https://www.mathworks.com/discovery/simulink-projects.html

Зарегистрируйте образцовые файлы с Subversion

Необходимо зарегистрировать образцовые файлы, если вы используете SVN, включая Built-In SVN Integration, обеспеченный Проектом Simulink.

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

Избегать этой проблемы при использовании SVN, расширений регистрового файла.

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

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

    • В ~/.subversion на Linux® или Mac OS X

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

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

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

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

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

    *.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 или Mac OS X

После того, как вы создадите файл конфигурации SVN, SVN обрабатывает новые образцовые файлы как двоичный файл.

Если у вас уже есть модели в репозиториях, смотрите Модели Регистра Уже в Репозиториях.

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

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

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

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

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

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

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

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

  5. Проверьте на другие типы файлов, которые вы используете в своих проектах, которые также необходимо указать как двоичный файл, чтобы избежать повреждения при регистрации. Проверьте на файлы, такие как .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
  6. Сохраните файл config.

После того, как вы создадите или обновите файл конфигурации SVN, SVN обрабатывает новые образцовые файлы как двоичный файл.

Если вы уже имеете модели в репозиториях, указываете их, как описано затем.

Укажите модели уже в репозиториях

Внимание

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

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

svn propset svn:mime-type application/octet-stream modelfilename
Если необходимо установить клиент SVN командной строки, смотрите Настроенное Интегрирование SVN для Версии SVN, Еще не Предоставленной Проект Simulink.

Осуществите SVN, блокирующий образцовые файлы перед редактированием

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

После этой настройки SVN устанавливает образцовые файлы на только для чтения, когда вы открываете проект, таким образом, необходимо выбрать Source Control> Get File Lock, прежде чем можно будет отредактировать их. Выполнение так помогает предотвратить редактирование моделей, не получая блокировку файла. Когда файл имеет блокировку, другие пользователи знают, что файл редактируется, и можно избежать проблем слияния.

  1. Чтобы сделать файлы SLX только для чтения, добавьте свойство к своему файлу конфигурации SVN. Найдите эту строку в разделе [auto-props], который регистрирует slx файлы как двоичный файл:

    *.slx = svn:mime-type= application/octet-stream
    

  2. Добавьте свойство needs-lock в конец существующей строки slx, разделенной точкой с запятой, таким образом, строка выглядит так:

    *.slx = svn:mime-type=application/octet-stream;svn:needs-lock=yes 
    Можно комбинировать свойства в любом порядке, но многократные въезды (e. g., для slx), должен быть на одной строке, разделенной точками с запятой.

  3. Воссоздайте песочницу для config, чтобы вступить в силу.

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

Если необходимо решить вопросы слияния, смотрите Конфликты Твердости.

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

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

Внимание

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

Знайте об этой осторожности с этими рабочими процессами:

  • Если вы задаете репозиторий с URL file://, или

  • При использовании Проекты Simulink создать репозиторий, это использует протокол file://. Создание новых репозиториев обеспечивается для локального однопользовательского доступа только для тестирования и отладки.

Кроме того, доступ к репозиторию через file:// URLs медленнее, чем использование сервера.

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

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

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

При использовании Проект Simulink создать репозиторий SVN, он создает стандартную структуру репозитория. Чтобы позволить пометить, репозиторий должен иметь папки trunk/ и tags/.

После того, как вы создадите репозиторий с этой структурой, чтобы добавить, что теги ко всем вашим файлам проекта, на вкладке Simulink Project, в разделе Source Control, нажимают Tag. Смотрите Тег и Получите Версии Файлов Проекта.

Управляйте SVN Externals

Чтобы получить файлы в ваш проект от другого репозитория или от другой части того же репозитория, используйте SVN externals.

  1. В Проекте Simulink щелкните правой кнопкой по папке проекта и выберите Source Control> Manage Externals.

  2. В диалоговом окне Manage Externals нажмите запись Add. Можно просмотреть к и подтвердить местоположение репозитория, задать формат относительной ссылки, задать подпапку, выбрать версию, e. g., узел HEAD, и т.д.

  3. После определения externals нажать ОК. Проект отображает externals определение в диалоговом окне Manage Externals.

    Также введите или вставьте определение svn:external в диалоговом окне Manage Externals. Проект применяет версию 1.6 SVN совместимое externals определение.

  4. Нажмите Set, чтобы подтвердить и применить ваши изменения.

  5. Чтобы получить внешние файлы, нажмите Update, чтобы обновить песочницу.

Если два пользователя изменяют svn:external для папки, можно получить конфликт. Чтобы разрешить конфликт, во Всем Представлении Файлов, определяют местоположение файла .prej и исследуют детали конфликта. Откройте диалоговое окно Manage Externals и задайте желаемый svn:external, отметьте конфликт папки, разрешенный, и затем фиксируйте изменения.

Связанные примеры

Больше о

Была ли эта тема полезной?