В интерфейсе Ediff есть +кнопка, но она, похоже, ничего не делает (минибуфер неизменно показывает «ноль», когда я нажимаю на нее), я думал, что эта кнопка предназначена для использования обоих вариантов в буфере результатов.
В любом случае, оригинальный вопрос: как заставить Ediff разрешить конфликт слияния, поместив содержимое из обоих буферов A и B в буфер C (я знаю, что могу просто отредактировать C, но надеюсь, что это будет легче сделать).
Предположим, файл A это:
Та же строка
Другая линия
Та же строка
в то время как файл B :
Та же строка
Другая линия
Та же строка
Я хочу, чтобы файл C , результат слияния A с B, выглядел так:
Та же строка
Другая линия
Другая линия
Та же строка
diff3
может помочь .Ответы:
Смотрите этот ответ StackOverflow .
От @ killdash9 :
источник
Edit: дубликат Q & А на StackOverflow есть ответы на этот вопрос (как указывало Tianxiang Сюно в комментариях).
Мой ответ ниже бесполезен, так как вы, очевидно, не можете получить желаемый результат таким образом. Я только не удаляю это, потому что информация, которую это действительно дает, несколько уместна, и может все еще доказать интересную информацию кому-то.
Лично я просто редактирую буфер слияния напрямую, но вы можете научить Emacs, что делать, если у вас есть стандартные требования.
+звонки
ediff-combine-diffs
:который:
Обратите внимание, что когда вы думаете, что ничего не делает, он фактически комбинирует варианты, используя обычные маркеры конфликта. т.е. если вы уже выбрали A или B, то по умолчанию +это способ восстановить исходный конфликт.
источник
ediff-combination-pattern
удалить традиционные маркировки конфликтов, используемые по умолчанию? Мне бы очень хотелось сохранить конфликт таким образом, пока я не разрешу его, используя любую комбинацию различий из объединенных файлов.ediff-combination-pattern
к вашему пользовательскому шаблону и затем вызываетediff-combine-diffs
.