1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
|
.\" You may copy, distribute and modify under the terms of the LDP General
.\" Public License as specified in the LICENSE file that comes with the
.\" gnumaniak distribution
.\"
.\" The author kindly requests that no comments regarding the "better"
.\" suitability or up-to-date notices of any info documentation alternative
.\" is added without contacting him first.
.\"
.\" (C) 2002 Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com>
.\"
.\" GNU diff3 man page
.\" man pages are NOT obsolete!
.\" <ragnar@ragnar-hojland.com>
.\"
.\" Japanese Version Copyright (c) 2000 NAKANO Takeo all rights reserved.
.\" Translated Sun 12 Mar 2000 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\"
.\"WORD: overlapping (changes) 重複している (変更)
.\"
.TH DIFF3 1 "October 2002" "GNU diff Utilities 2.8.1"
.SH 名前
diff3 \- 3 つのファイル間にある違いを探す
.SH 書式
.B diff3
[\fB\-3aeimxAETX\fP] [\fB-L\fP \fILABEL\fR] [\fB\-\-easy\-only\fP] [\fB\-\-ed\fP]
[\fB\-\-initial\-tab\fR] [\fB\-\-label=\fILABEL\fR] [\fB\-\-merge\fP]
[\fB\-\-overlap\-only\fP] [\fB\-\-show\-all\fP] [\fB\-\-show\-overlap\fP]
[\fB\-\-text\fP] \fIMINE OLDER YOUR
.B diff3
[\fB\-v\fP] [\fB\-\-help\fP] [\fB\-\-version\fP]
.SH 説明
.B diff3
は 3 つのファイルを比較し、それらの違いの説明を出力する。
比較対象となるファイルは
.IR MINE ", " OLDER ", " YOURS
である。これら三つのファイルのうちの一つを
.RB ` \- '
としてもよく、その場合そのファイルは標準入力から読み込まれる。
通常
.B diff3
は自分の作業のために
.B diff
を起動する。しかし
.B BDIFF
環境変数に他のプログラムを設定すれば、
そのプログラムを使うように変更できる。
.SH オプション
.TP
.B \-3, \-\-easy\-only
.B \-e
と似ているが、重複していない変更部分だけを出力する。
.TP
.B \-a, \-\-text
ファイルがテキストには見えないような場合でも、
全てのファイルをテキストとみなして 1 行ずつ比較を行う。
.TP
.B \-e, \-\-ed
.I OLDER
から
.I YOURS
へのすべての変更を
.I MINE
にマージするような
.I ed
スクリプトを生成する。
.TP
.B \-i
System V 互換性のために、
.B ed
スクリプトの末尾に
.RB ` w "' コマンドと `" q '
コマンドを生成する。このオプションは
.B \-AeExX3
のいずれかのオプションと共に用いなければならない。また
.B \-m
と同時に指定することはできない。
.TP
.B \-m, -\-merge
ed スクリプトを 1 番目のファイルに適用し、その結果を標準出力に送る。
.B diff3
の出力を
.B ed
に送るのと異なり、
このオプションの動作はバイナリファイルや改行されていない行にも適用できる。
ed スクリプトのオプションが何も指定されなければ、
.B \-A
を暗黙のうちに指定する。
.TP
.B \-x, \-\-overlap\-only
.B \-e
と似ているが、重複している変更だけを出力する点が異なる。
.TP
.B \-A, \-\-show\-all
.I OLDER
から
.I YOURS
への全ての変更を
.I MINE
にマージする。重複している変更はブラケット行で囲って出力する。
.TP
.B \-E, \-\-show\-overlap
.\"nakano: これは原文から間違い。 -E の出力が以下である。
.B \-e
と似ているが、重複部分のブラケット行の第 1・第 3 行が異なる。
.B \-E
では重複している変更は以下のようになる。
.sp
.nf
<<<<<<< \fIMINE\fP
lines from \fIMINE\fP
=======
lines from \fIYOURS\fP
>>>>>>> \fIYOURS\fP
.fi
.TP
.BI "\-L " LABEL ", \-\-label=" LABEL
.BR \-A ", " \-E ", " \-X
オプションのブラケット行に、ラベル
.I LABEL
を用いる。このオプションはそれぞれの入力ファイルに対応して
3 つまで与えることができる。
デフォルトのラベルは入力ファイルのファイル名である。したがって
.B "diff3 \-L X \-L Y \-L Z \-m A B C"
は
.B "diff3 \-m A B C"
と同じように動作するが、
入力が
.BR A ", " B ", " C
ではなく
.BR X ", " Y ", " Z
のものであるかのような出力となる。
.TP
.B \-T, \-\-initial\-tab
.TP
.B \-X
\fB\-E\fP と似ているが、重複している変更だけを出力する点が異なる。
別の言い方をすれば、 \fB\-x\fP と似ているが、
\fB\-E\fP のように変更をブラケット行で囲う点が異なる。
.TP
.B "\-\-help"
標準出力に使用方法のメッセージを出力して正常終了する。
.TP
.B \-v, \-\-version
.B diff3
のバージョン番号を出力する。
.SH 出力形式
それぞれの hunk (違いを表すテキストブロック) は
`\fB====\fP' という行から始まる。 3 ファイルとも異なる hunk では
ただの `\fB====\fP' となり、 1 ファイルが異なっている hunk では
.RB ` 1 "', `" 2 "', `" 3 '
のいずれかが、その異なっているファイルを示すために付加される。
hunk には 2 つ、または 3 つの入力行のセットが含まれ、
それぞれに行セットがどのファイル由来のものかを示す
1 つまたは 2 つのコマンドが前置される。
デフォルトの動作では、入力行の前には 2 つのスペースが置かれ、
コマンドと区別できるようになっている。
.B \-T
が指定されると、代わりにタブを用いるので、
入力にあったタブによる桁揃えが正しく保存される。
.SS コマンド形式
.TP
.IB FILE : L a
この hunk は
.IR FILE " の " L
行以降に現れるべきもので、そのファイルには存在していない。
このファイルを修正して他のファイルと同じにするには、
他の行からの hunk の行を追加しなければならない。例えば
`1:11a' は、その hunk はファイル 1 の 11 行目以降に追加すべきもので、
ファイル 1 には含まれていないこと示す。
.TP
.IB FILE : R c
この hunk には、
.IR FILE " の行範囲 " R
が含まれている。行範囲 \fIR\fP は 2 つの行番号をコンマで区切ったものである。
数字が一つだったら 1 行だけの範囲と解釈される。
このファイルを編集して他のファイルと同じにするには、
その行範囲を、他のファイルからとってきて変更しなければならない。
例えば `2:11,13c' は、この hunk は 2 番目のファイルの
11〜13 行目からとってきたものであることを示す。
.sp
入力行セットの最後の行が改行で終わっていない場合は、
出力の次の行が `\fB\\\fP' で始まるので、改行で終わっている場合と区別できる。
.\"nakano: 動作確認はしていない(^^;
.SH 返り値
.B diff3
は以下のどれかの値で終了する:
.TP
.B 0
.B diff3
は成功し、重複している変更 (衝突) は存在しなかった。
.TP
.B 1
重複が見付かった。
.TP
.B 2
何らかのエラーが起こった。
.SH 関連項目
.BR cmp (1),
.BR comm (1),
.BR diff (1),
.BR ed (1),
.BR patch (1),
.BR sdiff (1),
.SH 注意
プログラムのバグについては bug-gnu-utils@gnu.org に報告してください。
ページの更新は Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com> が行っています。
|