RCSMERGE(1)
КОМАНДЫ ПОЛЬЗОВАТЕЛЯ

НАЗВАНИЕ
rcsmerge - объединение изменений, сделанных в разных версиях файла в системе отслеживания версий RCS

СИНТАКСИС


 rcsmerge [флаги] имя-файла ...

ОПИСАНИЕ

Команда rcsmerge производит объединение изменений, сделанных с разными версиями одного файла и помещает их в новый рабочий файл. С формальной точки зрения, над рабочим файлом совершаются изменения, ведущие от первой указанной в командной строке версии ко второй (см. флаг -j команды co ).

Полное имя файла, содержащее архивный суффикс, соответствует архивному файлу, все прочие считаются рабочими файлами. О соответствии имен файлов, см. ci(1) .

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

Команда rcsmerge сообщает о наложении изменений, сделанных с одними строками, разделяя накладывающиеся участки, как объяснено в merge(1) .

ФЛАГИ
-AЕсли команда diff3(1) на вашем компьютере поддерживает флаг -A , то сообщения выдаются именно в этом стиле. В итоге, применение изменений ведущих от первой версии ко второй, к рабочему файлу, порождая при этом самую подробную информацию. Утилита diff3 из соответствующего пакета GNU этот флаг поддерживает, поэтому имеет смысл указать при построении RCS на вашем компьютере, что используется именно эта версия утилиты.
-E, -eЭти флаги задают стиль сообщений о наложении изменений, менее подробный, чем -A. См. diff3(1) . По умолчанию используется -E. Флаг -e не порождает никаких предупреждений.
-ksubstУстанавливает правила подстановки ключевых символов при извлечении для сравнения. Возможные правила subst описаны в co(1). Явное задание флага -k подавит заданное по умолчанию значение. Например, -kk -r1.1 -r1.2 игнорирует разницу связанную с разными значениями ключевых символов в версиях 1.1 to 1.2. Если задан флаг -kb , команда rcsmerge не будет работать.
-p[rev]Результат записывается не в рабочий файл, а в стандартный вывод.
-q[rev]Все сообщения подавляются. Используется в фоновом режиме.
-r[rev]Изменения отсчитывать от версии rev . Если rev не задан, то берется последняя версия ветви, используемой по умолчанию.
-TПрисутствует исключительно для совместимости с другими командами RCS.
-VПосылает номер версии RCS на стандартный вывод.
-VnИмитирует поведение версии n комплекса программ RCS . См. co(1) .
-xsuffixesЗадает суффикс, добавляемый к имени архивного файла. См. ci(1) .
-zzoneЗадает формат даты и часовой пояс при подстановке ключевых слов в маркеры. См. co(1) .

ПРИМЕРЫ

Предположим, предыдущий выпуск программы задавался версией 2.8 файла f.c . Предположим далее, что создав версию 3.4 , Вы получаете сообщение об ошибке содержащейся в программе, и исправления, внесенные в версию 2.8 от третьего лица. Для того, чтобы собрать исправления к версии 2.8 и те изменения, которые Вы сделали между версиями 2.8 и 3.4 , поместите исправленную весию 2.8 в файл f.c выполните


    rcsmerge  -p  -r2.8  -r3.4  f.c  > f.merged.c

и проверьте файл f.merged.c . Другой способ объединения изменений состоит в том, чтобы занести исправления к версии 2.8 в архивный файл как версию 2.8.1.1 и применить co -j :

    ci  -r2.8.1.1  f.c

    co  -r3.4  -j2.8:2.8.1.1  f.c

В следующем примере в рабочем файле f.c , скажем, версии 3.4 , отменяются все изменения сделанные между версиями 2.4 и 2.8 этого файла:

    rcsmerge  -r2.8  -r2.4  f.c

Обратите внимание на порядок аргументов и на то, что рабочий файл затрется.

ПЕРЕМЕННЫЕ СРЕДЫ

LOGNAME
Имя пользователя. В UNIX задано автоматически, в MS-DOS требуется задать явно командой

    set LOGNAME=имя-пользователя

TZ
Часовой пояс. В UNIX задан автоматически, в MS-DOS требуется задать явно командой set.

RCSINIT
Список флагов используемых со всеми командами системы отслеживания версий RCS. Не забудьте, что необходимы меры для того, чтобы пробелы между флагами не были обработаны командным интерпретатором преждевременно, защищайте их, например, кавычками. См. ci(1) .

СООБЩЕНИЯ

Возвращает операционной системе 0 если нет накладок, 1 если есть небольшие проблемы, с которыми программа справляется по ее мнению, и 2 если накладки слишком серьезны для работы.

СМ. ТАКЖЕ
ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1), rcsfile(5)

Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.

Copyright (C) Walter F. Tichy, Paul Eggert.