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

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

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

Примечание

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

Проект SVN поддерживает безопасное имя для входа в систему.

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

  • На вкладке Home MATLAB® выберите New> Project> From SVN.

  • Также в начальной странице, выберите Project from SVN, чтобы получить из системы контроля версий, или когда вы добавляете проект в систему контроля версий, выберите SVN в списке Source control tool

. Для инструкций смотрите

Внимание

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

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

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

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

Настройте 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/discovery/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]
    *.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, Еще не Предоставленной Проекты.

Осуществите файлы модели блокировки 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

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

Внимание

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

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

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

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

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

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

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

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

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

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

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

Больше о