Проекты обеспечивают SVN
для использования с Subversion® (SVN) песочницы и репозитории в версии 1.9. Для использования этого интегрирования не требуется устанавливать SVN, поскольку она включает в себя реализацию SVN.
Примечание
Это интегрирование игнорирует любую существующую установку SVN.
Проект SVN
поддерживает безопасные входы.
Чтобы использовать версию SVN, предоставленную в проекте, выполните одно из следующих действий:
На MATLAB® На вкладке Home» выберите New > Project > From SVN.
Кроме того, на начальной странице выберите Project from SVN для извлечения из системы контроля версий или, когда вы добавляете проект к системе контроля версий, выберите SVN
в списке Source control tool
. Для получения инструкций смотрите
Внимание
Поместите папку песочницы проекта на локальный жесткий диск. Использование сетевой папки с SVN медленно и ненадежно. Если вы используете Windows® сетевой диск, операции перемещения SVN могут привести к неправильному «не существующему» статусу для файлов, видимых в браузерах файлов.
Когда вы создаете новую песочницу, используя проект SVN
, новая песочница использует последнюю версию SVN, предоставленную проектом.
Когда ваш проект находится под системой контроля версий, можно использовать следующие функции проекта:
Можно взять ветвь на изменение, но SVN проекта не поддерживает отводной канал. Чтобы выполнить отводной канал, используйте внешний инструмент, такой как TortoiseSVN. Можно использовать инструменты проекта для сравнения и слияния, сконфигурировав TortoiseSVN, чтобы сгенерировать отчет сравнения при выполнении diff в файлах модели. См. раздел «Объединение моделей Simulink» из отчета о сравнении.
Если необходимо использовать проекты с более ранней установленной версией SVN, создайте новый проект в папке, уже находящейся под системой контроля версий SVN. Проект обнаруживает SVN.
Для примера:
Создайте песочницу с помощью TortoiseSVN из проводника Windows.
В MATLAB создайте новый проект в этой папке. Проект обнаруживает существующую систему контроля версий. Если песочница имеет версию 1.6, например, она остается песочницей версии 1.6.
Примечание
Перед использованием системы контроля версий необходимо зарегистрировать файлы модели с помощью инструментов. Смотрите Register Model Files with Subversion.
Если вам нужно использовать более позднюю версию SVN, чем 1.9, можно использовать Command-Line SVN Integration (compatibility mode)
, но необходимо также установить клиент SVN командной строки.
Примечание
Выберите Command-Line SVN Integration (compatibility mode)
только если вам нужно использовать более позднюю версию SVN, чем 1.9. В противном случае используйте SVN
вместо этого, для дополнительных функций, улучшенная производительность и не нужно устанавливать дополнительную командную строку SVN клиента.
Интегрирование SVN в командной строке взаимодействует с любым клиентом Subversion (SVN), который поддерживает интерфейс командной строки.
Установите SVN, поддерживающий интерфейс командной строки.
Примечание
TortoiseSVN не поддерживает интерфейс командной строки, если вы не выберете опцию установки инструментов командной строки. Также можно продолжить использовать TortoiseSVN из проводника Windows после установки другого SVN, поддерживающего интерфейс командной строки. Убедитесь, что номера основных версий совпадают, например, оба клиента являются SVN 1.7.
Клиенты Subversion можно найти на этой веб-странице:
В проекте выберите Command-Line SVN Integration (compatibility mode)
.
С Command-Line SVN Integration (compatibility mode)
Если вы пытаетесь переименовать файл в проекте, а имя папки содержит символ @, появляется ошибка, поскольку SVN командной строки обрабатывает все символы после символа @ как значение версии привязки.
Совет
Проверить наличие обновленной системы контроля версий интегрирования загрузок можно на веб-странице проектов: https://www.mathworks.com/products/simulink/projects.html
Вы должны зарегистрировать файлы модели, если вы используете SVN, включая SVN
интегрирование, предоставляемая проектами.
Если вы не регистрируете расширение файла модели как двоичное, SVN может добавить аннотации к конфликтующему Simulink® файлы и попытка automerge. Это повреждает файлы модели, поэтому вы не можете загрузить модели в Simulink.
Чтобы избежать этой проблемы при использовании SVN, зарегистрируйте расширения файлов.
Найдите свои SVN- config
файл. Найдите файл в следующих расположениях:
C :\Пользователи
или \ myusername
\ AppData\Roaming\Subversion\configC :\Документы и настройки
в Windows\ myusername
\ Данные приложения\Subversion\config
В ~/.subversion
в Linux® или Mac OS X
Если вы не находите config
файл, создайте новый. См. раздел «Создание файла Config SVN».
Если вы находите существующее config
файл, вы ранее установили SVN. Отредактируйте config
файл. См. раздел «Обновление существующего файла Config SVN».
Если 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
Проверьте наличие других типов файлов, используемых в проектах, которые также должны быть зарегистрированы как двоичные, чтобы избежать повреждения при регистрации. Проверьте наличие таких файлов, как файлы MEX (.mexa64
, .mexmaci64
, .mexw64
), .xlsx
, .jpg
, .pdf
, .docx
, и т.д. Добавьте линии в файл атрибутов для каждого типа файла, который вам нужен. Примеры:
*.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
Назовите файл config
и сохранить его в соответствующем месте:
C :\Пользователи
или \ myusername
\ AppData\Roaming\Subversion\configC :\Документы и настройки
в Windows\ myusername
\ Данные приложения\Subversion\config
~/.subversion
на Linux или Mac OS X
После того, как вы создали конфигурационный файл SVN, SVN обрабатывает новые файлы модели как двоичные.
Если у вас уже есть модели в репозиториях, см. «Регистрация моделей уже в репозиториях».
Если вы находите существующее config
файл, вы ранее установили SVN. Отредактируйте config
файл для регистрации файлов как двоичных.
Отредактируйте config
файл в текстовом редакторе.
Найдите [miscellany]
и проверьте, что следующая линия включена auto-props
с yes
:
enable-auto-props = yes
Найдите [auto-props]
раздел. Убедитесь, что [auto-props]
не комментируется. Если в начале есть символ #, удалите его.
Добавьте следующие линии в конец [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
Проверьте наличие других типов файлов, используемых в проектах, которые также должны быть зарегистрированы как двоичные, чтобы избежать повреждения при регистрации. Проверьте наличие таких файлов, как файлы 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
Сохраните config
файл.
После того, как вы создаете или обновляете файл config SVN, SVN обрабатывает новые файлы модели как двоичные.
Если у вас уже есть модели в репозиториях, зарегистрируйте их как описано далее.
Внимание
Изменение файла config SVN не влияет на файлы модели, уже зафиксированные в репозитории SVN. Если модель не зарегистрирована как двоичная, используйте svn propset
чтобы вручную зарегистрировать модели как двоичные.
Чтобы вручную зарегистрировать файл в репозитории как двоичный, используйте следующую команду с SVN командной строки:
svn propset svn:mime-type application/octet-stream modelfilename
Чтобы пользователи не забывали получить блокировку файлов модели перед редактированием, можно сконфигурировать SVN, чтобы сделать указанные расширения файлов доступными только для чтения. Чтобы найти свой config SVN, смотрите Register Model Files with Subversion.
После этой настройки SVN устанавливает файлы модели на чтение только когда вы открываете проект, поэтому вам нужно выбрать Source Control > Get File Lock, прежде чем вы сможете редактировать их. Это помогает предотвратить редактирование моделей, не получая блокировки файла. Когда файл имеет блокировку, другие пользователи знают, что файл редактируется, и можно избежать проблем слияния.
Чтобы сделать файлы SLX доступными только для чтения, добавьте свойство к файлу config SVN. Найдите эту линию в [auto-props]
раздел, который регистрирует файлы SLX как двоичные:
*.slx = svn:mime-type= application/octet-stream
Добавьте needs-lock
свойство до конца существующей slx
линия, разделенная точкой с запятой, поэтому строка выглядит следующим образом:
*.slx = svn:mime-type=application/octet-stream;svn:needs-lock=yes
slx
) должна находиться в одной линии, разделенной точками с запятой.Воссоздайте песочницу для вступления в силу config.
Вам нужно выбрать Get File Lock, прежде чем вы сможете редактировать файлы модели. См. раздел «Получение блокировок файлов SVN».
Если необходимо решить проблемы слияния, см. раздел «Разрешение конфликтов».
Когда необходимо предоставить общий доступ к репозиторию, необходимо настроить сервер. Вы можете использовать svnserve
или Apache™ модуль SVN. См. ссылки на веб-страницы:
http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.svnserve
http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd
Создайте репозиторий со стандартными tags
, trunk
, и branches
папки и извлечение файлов из trunk
. Проект Subversion рекомендует эту структуру. См. веб-страницу:
Если для создания репозитория SVN используется проект, он создает стандартную структуру репозитория. Чтобы включить маркировку, репозиторий должен иметь trunk/
и tags/
папки.
После создания репозитория с этой структурой, чтобы добавить теги ко всем файлам проекта, на вкладке Project, в разделе Система Контроля Версий, нажмите Tag. См. раздел «Тег и извлечение версий файлов проекта».
Чтобы получить файлы в ваш проект из другого репозитория или из другой части того же репозитория, используйте внешние SVN.
В проекте щелкните правой кнопкой мыши папку проекта и выберите Source Control > Manage Externals.
В диалоговом окне «Управление внешними объектами» нажмите кнопку Add entry. Можно просматривать и проверять местоположение репозитория, задавать относительный формат ссылки, задавать подпапку, выбирать ревизию, например HEAD
узел и т.д.
После определения внешних параметров нажмите кнопку OK. Проект отображает определение внешних объектов в диалоговом окне Управление внешними объектами (Manage Externals).
Другой способ - ввести или вставить svn:external
определение в диалоговом окне Управление внешними объектами. Проект применяет определение внешних устройств SVN версии 1.6.
Щелкните Set, чтобы проверить и применить изменения.
Чтобы получить внешние файлы, нажмите кнопку Update, чтобы обновить песочницу.
Если два пользователя изменяют svn:external
для папки можно получить конфликт. Чтобы разрешить конфликт, в представлении «Все файлы» найдите .prej
подайте и исследуйте детали конфликта. Откройте диалоговое окно «Управление внешними объектами» и задайте требуемые svn:external
Отметьте разрешенный конфликт папки и внесите изменения.