НАЗВА

merge - трьохстороннє об'єднання файла

ЗВЕДЕННЯ

merge [ опції ] файл1 файл2 файл3

ОПИС

merge об'єднує всі зміни, які привели від файла2 до файла3, у файлі1. Результат звичайно збережено у файлі1. Припустімо, що файл2 - це оригінальний файл, і обидва - файл1 і файл3 - це модифікації файла2. В такому разі, merge об'єднає всі зміни.

Конфлікт може статися, якщо обидва, файл1 і файл3, мають зміни у тому дамому відрізку рядка. Якщо виявляно конфлікт, merge зазвичай виведе попередження, і задужкує спірні рядки знаками <<<<<<< і >>>>>>>. Наприклад:

<<<<<<< _файл А_
рядки _файла А_
=======
рядки _файла В_
>>>>>>> _файл В_

У випадку конфліктів, користувач має редагувати зведений файл власноруч, і видалити одну з альтернатив.

ОПЦІЇ

-A : Виводить конфлікти аналогічно стилю -A програми ?diff3(1), якщо цей прапорець підтримується diff3. Це об'єднує у файлі1 всі зміни, що привели від файла2 до файла3, і спричиняє найбільш багатослівний вивід.

-E, -e : Ці прапорці вказують виводити менше інформації ніж -A. Без задання використовується -E. З -e merge взагалі не попереджає про конфлікти.

-L мітка : Цю опцію можна задати тричі, і вона вказує, якими мітками користуватися замість назв файлів у конфліктах. Так, команда `merge -L x -L y -L z a b c' генерує вивід, який здається ніби надійшов з файлів x, y, z замість a, b, c.

-p : Надішле вивід до стандартного пристрою виводу замість запису до файла1.

-q : Мовчазний режим: не попереджуватиме про конфлікти.

ДІАГНОСТИКА

Повертає 0, якщо конфліктів немає, 1 - якщо конфліктів є, і 3 - у разі помилки.

АВТОР

Walter F. Tichy.

ДИВІТЬСЯ ТАКОЖ

?diff3(1), diff(1), ?rcsmerge(1), ?co(1)

ВАДИ

За звичайних обставин, немає ніякого змісту зводити бінарні файли так, ніби це був просто текст, однак merge спробує це зробити, якщо накажуть.