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

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

Проекты обеспечивают 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 из Отчета Сравнения.

Subversion не поддерживается в MATLAB Online™.

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

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

Например:

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

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

Примечание

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

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

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

Примечание

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

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

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

    Примечание

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

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

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

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

Совет

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

Зарегистрируйте файлы модели с Subversion

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

Если вы не указываете свое расширение файла модели как двоичный файл, 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]
    *.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, и т.д. Добавьте линию на файл атрибутов для каждого типа файла, в котором вы нуждаетесь. Примеры:

    *.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] раздел:

    *.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, SVN обрабатывает новые файлы модели как двоичный файл.

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

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

Внимание

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

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

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

Осуществите файлы модели блокировки 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 
    Можно комбинировать свойства в любом порядке, но многократные въезды (например, для slx) должен быть на одной строке, разделенной точками с запятой.

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

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

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

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

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

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

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

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

Управляйте внешним обликом SVN

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

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

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

  3. После определения внешнего облика нажмите OK. Проект отображает определение внешнего облика в диалоговом окне Manage Externals.

    В качестве альтернативы введите или вставьте svn:external определение в диалоговом окне Manage Externals. Проект применяет версию 1.6 SVN совместимое определение внешнего облика.

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

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

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

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

Больше о