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

В настоящее время я использую CVS (не мой выбор) и имею несколько веток. Я пытаюсь объединить две ветки, но в файле проекта развертывания есть конфликты, которые я не могу разрешить, не потратив много времени. Тривиальное изменение файла проекта приводит к радикальным изменениям в этом файле проекта - я думаю, благодаря изменениям GUID (изменение файла проекта, получение чистой копии и внесение того же изменения, похоже, дает два довольно разных файла проекта)

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

Существуют ли какие-либо инструменты сравнения файлов проекта, которые учитывают измененные идентификаторы GUID / позиции?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
395
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать внешний инструмент сравнения, чтобы сначала устранить различия, а затем сообщить о реальных различиях (и игнорировать одни и те же идентификаторы GUID в разных позициях).

Например, WinMerge может обнаруживать похожие строки в разных местах между двумя файлами.

Панель расположения может указывать на перемещаемые разностные блоки. Перемещенные блоки - это две стороны разницы, которые находятся в разных местах. Перемещенные блоки обозначаются разностными цветами «Перемещено» и «Выбрано перемещено» (настраивается в параметрах WinMerge) и линиями, соединяющими их местоположения на левой и правой полосах расположения.

alt text
(source: winmerge.org)

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


Если эти идентификаторы GUID продолжают меняться, вы можете определить шаблон регулярного выражения, помогающий WinMerge игнорировать эти идентификаторы GUID (например, он может игнорировать по умолчанию все пробелы), помогая ему сосредоточиться на остальной части документа.

Идентификаторы GUID являются новыми, поэтому инструменту придется сравнивать разделы не по идентификаторам GUID, а по содержимому разделов с английской версией имени dll. Это нужно сделать. Спасибо!

BrianH 06.01.2009 23:31

Другие вопросы по теме