Объедините модели Simulink из отчета о сравнении

Инструменты слияния позволяют:

  • Разрешение конфликтов в файлах модели под системой контроля версий с помощью трехстороннего слияния. Откройте, выбрав View Conflicts.

  • Объедините любые два файла модели с помощью двухстороннего объединения. Откройте, выбрав Compare элементов контекстного меню.

  • Объединить MATLAB® Функциональный блочный код с использованием текстовых отчетов о сравнении.

Разрешение конфликтов с помощью трехстороннего слияния моделей

Если у вас есть конфликтующий файл модели под системой контроля версий в проекте или в браузере Текущей папки, щелкните правой кнопкой мыши и выберите View Conflicts. Можно разрешить конфликты с помощью инструмента «Трехстороннее объединение модели». Исследуйте локальный файл по сравнению с конфликтующей версией и базовым файлом предка и решите, какие изменения хранить. Можно разрешить конфликт и отправить изменения.

  1. Чтобы попробовать пример трехстороннего слияния, смотрите Разрешение конфликтов с Simulink Трехстороннее слияние.

  2. В проекте найдите конфликтующий файл модели, щелкните правой кнопкой мыши и выберите View Conflicts. Вы можете увидеть View Conflicts только в контекстном меню, если ваш файл отмечен как конфликтующий с системой контроля версий.

Инструмент «Слияние» автоматически устраняет все возможные различия и показывает результаты на панели Target. При необходимости проверьте варианты automerge, отредактируйте и решите, как устранить оставшиеся конфликты.

  1. Исследуйте столбцы отчета Объединение.

    • В верхней части Theirs, Base и Mine столбцы показывают различия в конфликтующей ревизии, вашей ревизии и базовом предке обоих файлов.

    • Ниже в Target показан локальный файл, в который будут объединены изменения. Инструмент «Слияние» уже автоматизировал различия, которые он может объединить.

  2. Проверьте различие, щелкнув Next или щелкнув строку в Theirs, Base и Mine столбцах.

    Инструмент слияния отображает две модели (или если вы выбрали настройку строения, вы увидите два диалоговых окна параметров конфигурации модели). По умолчанию вы видите Theirs и Target модели.

  3. Выберите модели для отображения с помощью кнопок на панели инструментов на вкладке Merge: Top Model или Bottom Model. Просмотрите модели, чтобы помочь вам решить, что объединить.

    Примечание

    Если вы открываете инструмент слияния с помощью View Conflicts, то модели Theirs, Base и Mine являются временными файлами, показывающими конфликтующие ревизии. Исследуйте их, чтобы решить, как объединиться. Модель Target является копией Mine, содержащей результаты ваших слияний в отчете.

  4. Выберите версию для каждого изменения, нажав кнопки на панели Target. Можно объединить измененные, добавленные или удаленные узлы и можно объединить отдельные параметры. Инструмент «Слияние» выбирает выбор для всех различий, которые он может разрешить автоматически. Проверьте выбранные параметры и измените их при необходимости.

    Поиск предупреждений в столбце Конфликты. Выберите кнопку для использования Theirs, Base или Mine для каждого конфликтующего элемента.

    Совет

    Объедините блоки перед линиями и объедините состояния и соединения перед объединением переходов. Затем инструмент объединения пытается соединить все линии с блоками.

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

    Внесите изменения вручную в редакторе. Отчет сравнения не может быть обновлен, чтобы показать какие-либо изменения, которые вы вносите в редактор, поэтому попробуйте внести изменения вручную после решения всех простых слияний в отчете.

    После разрешения конфликта с помощью редактора на панели Target установите опцию, чтобы пометить узел как завершенный.

  6. Исследуйте сводную таблицу, чтобы увидеть количество автоматических слияний и оставшихся конфликтов, которые необходимо разрешить.

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

  7. Когда вы довольны выбранными слияниями и любыми ручными слияниями в файле с Target, нажмите Accept and Close. Это действие сохраняет целевой файл со всеми вашими слияниями и помечает конфликтный файл, разрешенный в систему контроля версий инструменте.

    Чтобы сохранить и не отмечать разрешенный конфликт, выберите Accept and Close > Save and Close.

Дополнительные сведения об разрешении конфликтов в списке изменений измененных файлов проекта см. в разделе Разрешение конфликтов.

Использование трехстороннего объединения с внешними инструментами системы контроля версий

Если вы используете систему контроля версий за пределами MATLAB, то можно настроить внешние инструменты управления версиями, чтобы открыть Three-Way Merge (или двухстороннее объединение для difs).

Инструкции см. в разделе Настройка внешней системе контроля версий для использования MATLAB для Diff и Merge.

Откройте трехстороннее объединение без использования системы контроля версий

Если вы не используете систему контроля версий или хотите выбрать три файла для слияния, то можно открыть Three-Way Merge с помощью функции slxmlcomp.slMerge. Укажите файлы для слияния, например:

slxmlcomp.slMerge(baseFile, mineFile, theirsFile, targetFile);
Откроется трехстороннее объединение, где можно объединить изменения в baseFile, mineFile, и theirsFile в targetFile.

Объединение двухсторонней модели

Можно объединить два Simulink® модели из отчета о сравнении. Контекстное меню Compare, элементы из проекта или браузера Текущей папки, открывает двухстороннее объединение модели. Если вы используете систему контроля версий и хотите разрешить конфликты с помощью трехстороннего слияния моделей, см. Раздел «Разрешение конфликтов с помощью трехстороннего слияния моделей».

Функция слияния позволяет объединить две версии проекта, смоделированного в Simulink. Можно объединить отдельные параметры, блоки или целые подсистемы. Целые подсистемы могут быть объединены только в целом, если они полностью вставлены или удалены.

  1. На вкладке Comparison нажмите Merge Mode. В нижней части отчета появится целевая панель.

  2. Используйте тот же рабочий процесс, что и трехстороннее объединение. Используйте кнопки, чтобы выбрать различия для хранения в целевом файле.

    Совет

    Объедините блоки перед линиями и объедините состояния и соединения перед объединением переходов. См. «Слияние Советов».

  3. Просмотр результатов в отчете и моделях. Нажмите Save File. Save File копирует временный целевой файл через правый файл сравнения и перезапускает сравнение.

  4. (Необязательно) Чтобы вернуть все операции слияния, нажмите кнопку Close Merge, не сохраняя файл.

  5. Просмотрите изменения слияния в редакторе Simulink. При необходимости подключите все линии, к которым программное обеспечение не подключалось автоматически. Отчет о сравнении не обновляется, чтобы показать какие-либо изменения, которые вы вносите в редакторе.

Советы по слиянию

  • Необходимо объединить блоки перед линиями в части отчета Simulink. Необходимо объединить состояния и соединения перед объединением переходов, или отчет не может установить соединения.

    Для примера, показывающего, как объединить изменение с участием нескольких узлов, смотрите Сравнение и объединение моделей Simulink, содержащих Stateflow.

  • Не все параметры можно объединить. В этом случае на целевой панели отображается только один переключатель, указывающий версию, которая находится в целевой модели.

  • Для получения информации об объединении моделей с идентичными именами смотрите Сравнение моделей с идентичными именами.

Объедините блок MATLAB function

  1. Чтобы объединить различия в Блоке MATLAB function коде, создайте отчет сравнения для родительских моделей.

  2. Нажмите кнопку Merge Mode.

    Это создает и открывает третий файл под названием targetFile. Он может содержать изменения из левой или правой модели.

  3. Используйте кнопки справа от отчета, чтобы выбрать изменения, которые вы хотите изменить в целевом файле.

  4. Сохраните эти изменения над правой моделью с помощью кнопки Save File панель инструментов.

Похожие темы