Инструменты слияния позволяют:
Разрешение конфликтов в файлах модели под системой контроля версий с помощью трехстороннего слияния. Откройте, выбрав View Conflicts.
Объедините любые два файла модели с помощью двухстороннего объединения. Откройте, выбрав Compare элементов контекстного меню.
Объединить MATLAB® Функциональный блочный код с использованием текстовых отчетов о сравнении.
Если у вас есть конфликтующий файл модели под системой контроля версий в проекте или в браузере Текущей папки, щелкните правой кнопкой мыши и выберите View Conflicts. Можно разрешить конфликты с помощью инструмента «Трехстороннее объединение модели». Исследуйте локальный файл по сравнению с конфликтующей версией и базовым файлом предка и решите, какие изменения хранить. Можно разрешить конфликт и отправить изменения.
Чтобы попробовать пример трехстороннего слияния, смотрите Разрешение конфликтов с Simulink Трехстороннее слияние.
В проекте найдите конфликтующий файл модели, щелкните правой кнопкой мыши и выберите View Conflicts. Вы можете увидеть View Conflicts только в контекстном меню, если ваш файл отмечен как конфликтующий с системой контроля версий.
Инструмент «Слияние» автоматически устраняет все возможные различия и показывает результаты на панели Target. При необходимости проверьте варианты automerge, отредактируйте и решите, как устранить оставшиеся конфликты.
Исследуйте столбцы отчета Объединение.
В верхней части Theirs, Base и Mine столбцы показывают различия в конфликтующей ревизии, вашей ревизии и базовом предке обоих файлов.
Ниже в Target показан локальный файл, в который будут объединены изменения. Инструмент «Слияние» уже автоматизировал различия, которые он может объединить.
Проверьте различие, щелкнув Next или щелкнув строку в Theirs, Base и Mine столбцах.
Инструмент слияния отображает две модели (или если вы выбрали настройку строения, вы увидите два диалоговых окна параметров конфигурации модели). По умолчанию вы видите Theirs и Target модели.
Выберите модели для отображения с помощью кнопок на панели инструментов на вкладке Merge: Top Model или Bottom Model. Просмотрите модели, чтобы помочь вам решить, что объединить.
Примечание
Если вы открываете инструмент слияния с помощью View Conflicts, то модели Theirs, Base и Mine являются временными файлами, показывающими конфликтующие ревизии. Исследуйте их, чтобы решить, как объединиться. Модель Target является копией Mine, содержащей результаты ваших слияний в отчете.
Выберите версию для каждого изменения, нажав кнопки на панели Target. Можно объединить измененные, добавленные или удаленные узлы и можно объединить отдельные параметры. Инструмент «Слияние» выбирает выбор для всех различий, которые он может разрешить автоматически. Проверьте выбранные параметры и измените их при необходимости.
Поиск предупреждений в столбце Конфликты. Выберите кнопку для использования Theirs, Base или Mine для каждого конфликтующего элемента.
Совет
Объедините блоки перед линиями и объедините состояния и соединения перед объединением переходов. Затем инструмент объединения пытается соединить все линии с блоками.
Некоторые различия необходимо объединить вручную. На панели Target найдите значок объединения вручную в столбце Конфликты, который показывает, что вы должны выполнить действие.
Внесите изменения вручную в редакторе. Отчет сравнения не может быть обновлен, чтобы показать какие-либо изменения, которые вы вносите в редактор, поэтому попробуйте внести изменения вручную после решения всех простых слияний в отчете.
После разрешения конфликта с помощью редактора на панели Target установите опцию, чтобы пометить узел как завершенный.
Исследуйте сводную таблицу, чтобы увидеть количество автоматических слияний и оставшихся конфликтов, которые необходимо разрешить.
Проверьте наличие изменений, отфильтрованных из текущего представления, просматривая заголовки вкладок сводной таблицы. На вкладках «Отфильтрованное представление» и «Все изменения» заголовкам показано количество изменений. По умолчанию отчет скрывает все нефункциональные изменения. Отключите активные фильтры, чтобы просмотреть все идентифицированные изменения.
Когда вы довольны выбранными слияниями и любыми ручными слияниями в файле с 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. Можно объединить отдельные параметры, блоки или целые подсистемы. Целые подсистемы могут быть объединены только в целом, если они полностью вставлены или удалены.
На вкладке Comparison нажмите Merge Mode. В нижней части отчета появится целевая панель.
Используйте тот же рабочий процесс, что и трехстороннее объединение. Используйте кнопки, чтобы выбрать различия для хранения в целевом файле.
Совет
Объедините блоки перед линиями и объедините состояния и соединения перед объединением переходов. См. «Слияние Советов».
Просмотр результатов в отчете и моделях. Нажмите Save File. Save File копирует временный целевой файл через правый файл сравнения и перезапускает сравнение.
(Необязательно) Чтобы вернуть все операции слияния, нажмите кнопку Close Merge, не сохраняя файл.
Просмотрите изменения слияния в редакторе Simulink. При необходимости подключите все линии, к которым программное обеспечение не подключалось автоматически. Отчет о сравнении не обновляется, чтобы показать какие-либо изменения, которые вы вносите в редакторе.
Необходимо объединить блоки перед линиями в части отчета Simulink. Необходимо объединить состояния и соединения перед объединением переходов, или отчет не может установить соединения.
Для примера, показывающего, как объединить изменение с участием нескольких узлов, смотрите Сравнение и объединение моделей Simulink, содержащих Stateflow.
Не все параметры можно объединить. В этом случае на целевой панели отображается только один переключатель, указывающий версию, которая находится в целевой модели.
Для получения информации об объединении моделей с идентичными именами смотрите Сравнение моделей с идентичными именами.
Чтобы объединить различия в Блоке MATLAB function коде, создайте отчет сравнения для родительских моделей.
Нажмите кнопку Merge Mode.
Это создает и открывает третий файл под названием targetFile. Он может содержать изменения из левой или правой модели.
Используйте кнопки справа от отчета, чтобы выбрать изменения, которые вы хотите изменить в целевом файле.
Сохраните эти изменения над правой моделью с помощью кнопки Save File панель инструментов.