Проекты обеспечивают SVN для использования в изолированных средах и репозиториях Subversion ® (SVN) версии 1.9. Для использования этой интеграции не требуется устанавливать SVN, поскольку она включает реализацию SVN .
Примечание
Эта интеграция игнорирует любую существующую установку SVN.
Проект SVN поддерживает безопасный вход в систему.
Для использования версии SVN, поставляемой с проектом, выполните одно из следующих действий:
На вкладке Главная страница MATLAB ® выберите Создать > Проект > Из SVN.
Либо на начальной странице выберите Проект из SVN для извлечения из системы управления версиями, либо при добавлении проекта в систему управления версиями выберите SVN в списке инструментов системы управления версиями
. Инструкции см. в разделе
Внимание
Поместите папку изолированной программной среды проекта на локальный жесткий диск. Использование сетевой папки с SVN является медленным и ненадежным. При использовании сетевого диска Windows ® операции перемещения SVN могут привести к неправильному «несуществующему» состоянию файлов, видимых в браузерах файлов.
При создании новой песочницы с помощью проекта SVNновая песочница использует последнюю версию SVN, предоставленную проектом.
Если проект находится в системе управления версиями, можно использовать следующие функции проекта:
Можно взять на изменение из филиала, но SVN проекта не поддерживает объединение филиалов. Для объединения ветвей используйте внешний инструмент, например, TortoitySVN. Для сравнения и объединения можно использовать инструменты проекта, настроив TortoureSVN для создания отчета сравнения при выполнении разбиения на файлы модели. См. раздел Объединение моделей Simulink в отчете о сравнении.
Если требуется использовать проекты с уже установленной более ранней версией SVN, создайте новый проект в папке, уже находящейся в системе управления версиями SVN. Проект обнаруживает SVN.
Например:
Создайте изолированную программную среду с помощью программы TortoitySVN из проводника Windows.
В MATLAB создайте новый проект в этой папке. Проект обнаруживает существующую систему управления версиями. Например, песочница версии 1.6 остается песочницей версии 1.6.
Примечание
Перед использованием системы управления версиями необходимо зарегистрировать файлы модели с помощью инструментов. См. раздел Регистрация файлов модели с помощью 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, поддерживающий интерфейс командной строки.
Примечание
TortoableSVN не поддерживает интерфейс командной строки, если не выбран вариант установки инструментов командной строки. Кроме того, можно продолжить использование TortoureSVN из проводника 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:\Users\ или myusername\AppData\Roaming\Subversion\configC:\Documents and Settings\ в Windowsmyusername\Application Data\Subversion\config
В ~/.subversion в ОС Linux ® или Mac OS X
Если вы не найдете config создайте новый файл. См. раздел Создание конфигурационного файла SVN.
При обнаружении существующего config , вы уже установили SVN. Изменить 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:\Users\ или myusername\AppData\Roaming\Subversion\configC:\Documents and Settings\ в Windowsmyusername\Application Data\Subversion\config
~/.subversion в ОС Linux или Mac OS X
После создания конфигурационного файла SVN SVN обрабатывает новые файлы модели как двоичные.
Если модели уже есть в репозиториях, см. раздел Регистрация моделей уже в репозиториях.
При обнаружении существующего config , вы уже установили SVN. Изменить config для регистрации файлов как двоичных.
Изменить config в текстовом редакторе.
Найдите [miscellany] section, и убедитесь, что следующая строка включает 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 файл.
После создания или обновления конфигурационного файла SVN SVN обрабатывает новые файлы модели как двоичные.
Если модели уже есть в репозиториях, зарегистрируйте их, как описано ниже.
Внимание
Изменение конфигурационного файла SVN не влияет на файлы модели, уже зафиксированные в репозитории SVN. Если модель не зарегистрирована как двоичная, используйте svn propset чтобы вручную зарегистрировать модели как двоичные.
Чтобы вручную зарегистрировать файл в репозитории как двоичный, используйте следующую команду в командной строке SVN:
svn propset svn:mime-type application/octet-stream modelfilename
Чтобы пользователи не забывали о блокировке файлов модели перед редактированием, можно настроить SVN так, чтобы указанные расширения файлов были доступны только для чтения. Чтобы найти конфигурационный файл SVN, см. раздел Регистрация файлов модели с помощью Subversion.
После этой настройки SVN устанавливает файлы модели только для чтения при открытии проекта, поэтому перед их редактированием необходимо выбрать «Система управления версиями» > «Получить блокировку файлов». Это позволяет предотвратить редактирование моделей без блокировки файла. Когда файл заблокирован, другие пользователи знают, что файл редактируется, и можно избежать проблем слияния.
Чтобы сделать SLX-файлы доступными только для чтения, добавьте свойство в конфигурационный файл 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) должен находиться в одной строке, разделенной точкой с запятой.Создайте изолированную программную среду, чтобы конфигурационный элемент вступил в силу.
Перед редактированием файлов модели необходимо выбрать команду Получить блокировку файла (Get File Lock). См. раздел Получение блокировки файлов SVN.
Если необходимо устранить проблемы слияния, см. раздел Разрешение конфликтов.
При необходимости совместного использования репозитория необходимо настроить сервер. Вы можете использовать svnserve или модуль Apache™ SVN. См. ссылки на веб-страницы:
http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.svnservehttp://svnbook.red-bean.com/en/1.7/svn-book.html#svn.serverconfig.httpd
Создание репозитория с использованием стандарта tags, trunk, и branches папки и извлечение файлов из trunk. Проект Subversion рекомендует эту структуру. См. веб-страницу:
При использовании проекта для создания репозитория SVN создается стандартная структура репозитория. Чтобы включить тегирование, репозиторий должен иметь trunk/ и tags/ папки.
После создания репозитория с этой структурой, чтобы добавить теги во все файлы проекта, на вкладке Проект в разделе Система управления версиями нажмите кнопку Тег. См. раздел Теги и извлечение версий файлов проекта.
Чтобы получить файлы в проект из другого репозитория или из другой части того же репозитория, используйте внешние SVN.
В проекте щелкните правой кнопкой мыши папку проекта и выберите «Система управления версиями» > «Управление внешними объектами».
В диалоговом окне «Управление внешними объектами» нажмите кнопку «Добавить элемент». Можно просмотреть и проверить расположение репозитория, указать относительный ссылочный формат, указать подпапку, выбрать редакцию, например, HEAD узел и т.д.
После задания внешних параметров нажмите кнопку «ОК». Проект отображает определение внешних параметров в диалоговом окне «Управление внешними параметрами».
Либо введите или вставьте svn:external в диалоговом окне «Управление внешними объектами». В проекте применяется определение внешних устройств, совместимых с SVN версии 1.6.
Нажмите кнопку Задать, чтобы проверить и применить изменения.
Чтобы извлечь внешние файлы, нажмите кнопку «» Обновить «», чтобы обновить изолированную среду.
Если два пользователя изменяют svn:external для папки можно получить конфликт. Чтобы разрешить конфликт, в представлении «Все файлы» найдите .prej и проверьте сведения о конфликте. Откройте диалоговое окно «Управление внешними объектами» и укажите требуемый svn:external, отметьте конфликт папок как разрешенный, а затем зафиксируйте изменения.