Сравнение файлов и папок и файлы слияния

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

Процесс сравнения

Процесс сравнения включает три этапа:

  1. Выберите файлы или папки для сравнения.

  2. Выберите тип сравнения.

  3. Исследуйте отчет о сравнении.

Выберите файлы или папки для сравнения

Можно выбрать файлы и папки для сравнения с помощью любого из следующих методов:

  • MATLAB® рабочий стол - Переходите на вкладку Home, а в разделе File нажмите Compare. Нажмите кнопкуopen folder, чтобы выбрать элементы для сравнения, или перетащите файлы из браузера файлов в поля First file or folder или Second file or folder.

  • Браузер текущей папки - Выберите файл или папку, щелкните правой кнопкой мыши и выберите Compare Against. Нажмите кнопкуopen folder, чтобы выбрать второй элемент для сравнения, или перетащите файл из браузера файлов в Second file or folder поле. Чтобы выбрать два файла или подпапки для сравнения, Ctrl - щелкните имена файлов. Затем щелкните правой кнопкой мыши и выберите Compare Selected Files/Folders.

  • Редактор или Live Editor - Переходите на вкладку Editor или Live Editor, а в разделе File нажмите Compare. Инструмент сравнения включает открытый файл в поле First file or folder. Нажмите кнопкуopen folder, чтобы выбрать второй элемент для сравнения, или перетащите файл из браузера файлов в Second file or folder поле.

    Чтобы сравнить файл с версией autosave или сохраненной версией на диске, перейдите на вкладку Editor и нажмите Compare и выберите Compare with Version on Disk или Save and Compare with Autosave. Если файл изменен, редактор сохраняет файл перед сравнением. Опции Compare with Version on Disk и Save and Compare with Autosave доступны, только если опция автоматического сохранения изменений в файле отключена. Чтобы отключить опцию, перейдите на вкладку Home, а в разделе Environment нажмите Preferences. Затем выберите Editor/Debugger и очистите Save changes upon clicking away from a file. Эта опция недоступна в Live Editor.

  • Командное окно - Используйте visdiff функция. Например, чтобы сравнить два файла lengthofline.m и lengthofline2.m использование visdiff функция и сравнение текста по умолчанию, введите visdiff('lengthofline.m', 'lengthofline2.m'). MATLAB открывает Инструмент сравнения (Comparison Tool) и отображает результат отчета сравнения.

Совет

При выборе папок для сравнения выберите Include subfolders, чтобы включить содержимое подпапок в сравнение.

Выбор типа сравнения

Инструмент сравнения сравнивает выбранные элементы, используя тип сравнения по умолчанию, заданный для выбранных элементов. Для некоторых типов элементов можно выбрать другой тип сравнения по умолчанию. Например, вы можете выбрать из текста, двоичного кода, списка файлов или сравнения XML. Чтобы изменить тип сравнения, выберите файлы или папки для сравнения. Затем выберите из доступных опций Comparison type. Инструмент сравнения отображает только допустимые опции для выбранных типов элементов.

Вы не можете изменить тип сравнения для существующего отчета сравнения. Чтобы изменить тип сравнения, запустите новое сравнение.

Если вы задаете два файла или папки для сравнения с помощью браузера Текущей папки или visdiff функция, затем Инструмент автоматически выполняет тип сравнения по умолчанию. Для примера в браузере Текущей папки, если вы выбираете два XML- файлы для сравнения, инструмент использует сравнение текста по умолчанию. Чтобы изменить тип сравнения на иерархическое сравнение, создайте новое сравнение с помощью Инструмент.

Исследуйте отчет о сравнении

После выбора типа сравнения нажмите кнопку Compare. Откроется отчет сравнения. Отчет сравнения можно исследовать различными способами в зависимости от сравниваемых элементов. Для получения дополнительной информации см. подробные сведения, описанные для каждого типа сравнения ниже.

Сравнение папок и ZIP- Файлов

Можно сравнить любую комбинацию папок и ZIP- файлов с помощью Инструмента Comparison. Для примера можно сравнить содержимое папки с содержимым ZIP- файла. Инструмент сравнения выполняет сравнение списка файлов выбранных элементов.

Создайте отчет сравнения папок для:

  • Идентифицируйте общие файлы.

  • Определите, имеют ли файлы или папки с одинаковыми именами идентичное содержимое. Если такие файлы или папки существуют, можно открыть подробный отчет о сравнении для элементов непосредственно из отчета.

При выполнении сравнения списка файлов открывается новое окно, в котором один за другим отображается содержимое указанных списков. Например, предположим, что у вас есть две папки, curvefittings и curvefittings2, с несколькими различиями. При сравнении двух папок Инструмент сравнения отображает результат отчета.

Инструмент сравнения подсвечивает файлы и подпапки, которые не совпадают с цветами, перечисленными в этой таблице.

Подсветка цветаОписание
ФиолетовыйСодержимое файлов или папок отличается. Щелкните ссылку compare для исследования.
Синий Файл или папка существует только в правом списке.
ЖелтыйФайл или папка существует только в левом списке.
НичегоФайлы или папки идентичны.

Вы также можете исследовать результаты с помощью нескольких методов:

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

  • Чтобы открыть подробный отчет о сравнении элементов с различным содержимым, щелкните compare ссылку рядом с элементом.

  • Чтобы открыть файл в редакторе, щелкните open ссылку рядом с именем файла. Если файл присутствует в обеих папках, можно щелкнуть ссылки, чтобы открыть left или right версию файла.

  • Если подпапки очень большие и содержат много файлов, анализ продолжается в фоновом режиме. Инструмент отображает количество элементов, которые еще нужно сравнить в верхней части отчета. Можно кликнуть Skip Current, чтобы пропустить текущий элемент или Cancel All, чтобы остановить последующий анализ.

  • Чтобы сэкономить время при рассмотрении различий, особенно при сравнении многих подпапок, можно фильтровать отчет. Чтобы применить фильтр, на вкладке View выберите Filter > "filterName".

    Чтобы создать новый фильтр, на вкладке View выберите Filter > Add/Remove Filter. Можно задать фильтры, чтобы игнорировать определенные файлы и папки, такие как файлы резервного копирования или файлы, созданные системой контроля версий. Например, чтобы игнорировать все файлы и папки в папке с именем CVS, тип CVS/. Чтобы игнорировать все файлы в папке с именем CVS, но не игнорируйте подпапки, вводите CVS/*.

    Чтобы отредактировать существующие фильтры, дважды нажатие кнопки фильтр.

Дополнительные сведения о дальнейшей настройке отчета о сравнении см. в разделе Дополнительные инструменты сравнения.

Сравнение текстовых файлов

Сравнивать и объединять линии в двух текстовых файлах можно с помощью Инструмента сравнения. При выполнении сравнения текста открывается новое окно, в котором два файла отображаются один за другим. Символы, находящиеся между двумя файлами, указывают, как можно настроить файлы, чтобы они совпадали. Например, запустите этот код, чтобы просмотреть сравнение текста файлов с примером lengthofline.m и lengthofline2.m.

file1 = fullfile(matlabroot,'help','techdoc','matlab_env',...
'examples','lengthofline.m')
file2 = fullfile(matlabroot,'help',...
'techdoc','matlab_env','examples','lengthofline2.m')
visdiff(file1,file2)
Инструмент сравнения отображает результат отчета.

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

Подсветка цветаОписание
ФиолетовыйЭта линия содержит различия. Инструмент сравнения отображает x в столбце между этими двумя файлами.
Темно-фиолетовыйВыделенные символы отличаются.
СинийЛиния существует только в правом файле. Инструмент сравнения отображает > в столбце между этими двумя файлами.
ЖелтыйЛиния существует только в левом файле. Инструмент сравнения отображает < в столбце между этими двумя файлами.

Инструмент сравнения пытается соответствовать линиям и обнаруживает текст, который добавляется, удаляется или изменяется. Для примера в текстовом сравнении lengthofline.m и lengthofline2.mинструмент определяет, что lengthofline2.m имеет строку кода, которая не существует в lengthofline.m и подсвечивает его (линия 23) синим цветом. Кроме того, инструмент принимает во внимание дополнительные линии и определяет, что линия, содержащий end оператор в каждом файле совпадает, хотя и end оператор не находится на одном и том же номере линии в обоих файлах.

Далее можно исследовать и сконфигурировать результаты с помощью нескольких методов:

  • Просмотреть сводные данные различий - Чтобы просмотреть сводные данные различий между двумя текстовыми файлами, включая количество совпадающих линий и количество несопоставленных линий в каждом файле, прокрутите до нижней части отчета о сравнении.

  • Игнорируйте различия пробелов - Чтобы помочь различить функциональные изменения и изменения отступа, можно скрыть различия пробелов. Чтобы скрыть различия, которые включают только символы белого пространства, перейдите на вкладку View, нажмите кнопку Filter и выберите Ignore White Space.

  • Показать только различия - Чтобы указать, отображать ли только различия или все файлы, перейдите на вкладку View, нажмите кнопку Filter и выберите или очистите Show Differences Only. Отображение только различий особенно полезно в больших текстовых отчетах сравнения. При отображении только различий и скрытии некоторых линий в отчете отображается сообщение с указанием количества скрытых линий. Для примера, если 10 линии скрыты, отчет отображений 10 unmodified lines hidden.

  • Изменить ширину отображения - Чтобы увеличить или уменьшить линию длины текстовых файлов в отображение сравнения, перейдите на вкладку View, а в разделе Display измените Column Width. При необходимости измените размер окна.

  • Сохранить отчет HTML - Чтобы сохранить копию отчета о сравнении в виде HTML- файл, перейдите на вкладку Comparison и в разделе Comparison нажмите Save As > HTML.

Дополнительные сведения о дальнейшей настройке отчета о сравнении см. в разделе Дополнительные инструменты сравнения.

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

Если сравниваемые файлы чрезвычайно длинны, Инструмент Comparison может закончиться памятью при попытке выполнить сравнение файлов. Если это так, это сообщение отображается:

Maximum file length exceeded. 
Defaulting to line-by-line comparison.
Когда это происходит, Инструмент переключается на линейное сравнение. В строке за строкой сравнение файлов lengthofline.m и lengthofline2.m для примера инструмент подсвечивает линии, содержащие end оператор, поскольку при выполнении этой операции он обнаруживает, что последняя линия в одном файле не совпадает с последней линией в другом файле.

По умолчанию XML- файлы сравниваются с помощью сравнения текста. Сравнение XML- файлы с иерархическим сравнением смотрите в Сравнение XML- Файлами.

Объединение текстовых файлов

При сравнении текстовых файлов можно объединить изменения из одного файла в другой. Объединение изменений может быть полезно при разрешении конфликтов между различными версиями файлов. При объединении изменений можно объединять только слева направо. Если вы хотите объединиться в левый файл, нажмите кнопку Swap Sides перед началом слияния. Нажатие кнопки Swap Sides возвращает все уже выполненные слияния и создает новый отчет сравнения для исходных файлов.

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

Имя объединенного файла в верхней части отчета указывает, что файл содержит несохраненные изменения (filename.m*).

Чтобы отменить последнюю операцию слияния, на вкладке Comparison нажмите Undo. Нажмите кнопку Redo, чтобы повторно применить слияние. Чтобы вернуть все слияния и начать снова, нажмите Refresh.

Чтобы сохранить изменения, нажмите кнопку Save Merged File. Чтобы сохранить другое имя, выберите Save Merged File > Save Merged File As.

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

Сравнение двоичных файлов

Можно сравнить два двоичных файла, таких как файлы DLL или файлы MEX, с помощью инструмента сравнения. Вы также можете выполнить двоичное сравнение для любых двух выбранных файлов, вместо сравнения по умолчанию.

Чтобы сравнить любые два файла с помощью двоичного сравнения, в меню Comparison type выберите Binary comparison. При выполнении двоичного сравнения открывается новое окно и указывается, являются ли эти два файла идентичными или различными. Если файлы отличаются, щелкните ссылку Show Details, чтобы просмотреть двоичные файлы и смещение байта первого различия.

Сравнение других типов файлов

Можно использовать Инструмент сравнения для сравнения других типов файлов:

Дополнительные инструменты сравнения

Можно дополнительно изучить и сконфигурировать отчет сравнения с помощью следующих доступных инструментов:

  • Swap Sides кнопка - Переключение левой части файла или папки с правой стороны файла или папки.

  • Refresh кнопка - Обновляйте результаты в инструменте сравнения после внесения изменений в и сохранения файлов в редакторе.

  • Find кнопка - Найти фразу в текущем отображении. Для получения дополнительной информации см. раздел «Поиск текста в Командном окне» или «История».

Настройки сравнения

Настроить инструмент сравнения можно с помощью настроек сравнения. Чтобы изменить настройки сравнения, на вкладке Home, в разделе Environment, нажмите Preferences. Затем выберите MATLAB > Comparison.

Настройки цвета

Вы можете изменить цвета, которые Инструмент сравнения использует для подсветки линий, которые изменились. Настройки цвета применяются ко всем типам сравнения.

Чтобы изменить настройки цвета, в разделе Colors настроек сравнения измените цвета для различий, измененных линий, измененного содержимого и объединенных линий. В Sample области показан предварительный просмотр выбранных цветов. После изменения цветов сравнения необходимо обновить все открытые отчеты сравнения, чтобы увидеть обновленные цвета.

Чтобы сохранить измененные настройки цвета для использования в будущих сеансах работы с MATLAB, нажмите кнопку Save As и введите имя для профиля настроек цвета. После сохранения цветового профиля можно выбрать профиль в списке Active Settings. Чтобы восстановить цветовой профиль по умолчанию, нажмите кнопку Reset.

Интеграция с системой контроля версий

Можно использовать Инструмент сравнения, чтобы сравнить и объединить файлы и папки во внешних инструментах систем контроля версий. Чтобы разрешить внешним инструментам систем контроля версий повторно использовать открытый сеанс работы с MATLAB, в разделе External Source Control Integration настроек сравнения выберите опцию Allow external source control tools to use open MATLAB sessions for diffs and merges. Когда вы конфигурируете инструмент системы контроля версий, чтобы использовать инструмент сравнения MATLAB, Инструмент сравнения предлагает вам выбрать эту опцию .

Для получения дополнительной информации смотрите Настройка внешней системы контроля версий для использования MATLAB для Diff и Merge (Simulink).

Поиск и устранение проблем

Если вы столкнулись с такими ошибками, как java.lang.OutOfMemoryError: Java heap space или java.lang.OutOfMemoryError: GC Overhead limit exceeded при сравнении больших файлов отредактируйте настройки MATLAB, чтобы увеличить размер кучи.

  1. На вкладке Home, в разделе Environment, нажмите Preferences.

  2. Выберите MATLAB > General > Java Heap Memory.

  3. Переместите ползунок, чтобы увеличить размер кучи, и нажмите OK.

  4. Перезапустите MATLAB.

См. также

Похожие темы