неграфический инструмент 3-way merge - PullRequest
4 голосов
/ 19 декабря 2008

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

<<<<<<< file1 <br> file1 строка 1
||||||| ориг
линия оригинала 1
=======
file2 строка 1
>>>>>>> file2
линия оригинала 2
<<<<<<< orig <br> =======
строка добавлена ​​в оба изменения
>>>>>>> file2
линия оригинала 3

Если я использую значение по умолчанию (-E), то эти идентичные изменения не показываются, но тогда на выходе отображаются только два участника, а не предок, что-то вроде этого:

<<<<<<< file1 <br> file1 строка 1
=======
file2 строка 1
>>>>>>> file2
линия оригинала 2
строка добавлена ​​в оба изменения
линия оригинала 3

Существует ли какая-либо программа, которая по существу будет вести себя так же, как слияние RCS, но имеет какой-то способ показать все три версии в конфликтах при автоматическом объединении идентичных изменений?

Ответы [ 2 ]

7 голосов
/ 19 декабря 2008

Похоже, у diff3 есть несколько интересных опций.

В Ubuntu:

       -m  --merge
              Output merged file instead of ed script (default -A).

Вы запросили неграфическое изображение, но vimdiff и gvimdiff могут сделать 3 смежных окна.

1 голос
/ 13 ноября 2009

KDiff3 является графическим, но у него есть опция «--auto», которая при вызове из командной строки выполняет слияние и отображает графический интерфейс только в случае возникновения конфликта. Я знаю, это означает, что вам все еще нужен графический интерфейс, но kdiff3 все еще может быть полезен из командной строки. Я использую его все время (в Windows - не уверен насчет других версий).

(Я хотел добавить этот комментарий к другому сообщению KDiff3, но не смог понять, как это сделать - извините.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...