2.2.1.3 Context書式の詳細
context出力書式は、次のような2行のヘッダーで始まります。
*** from-file from-file-modification-time --- to-file to-file-modification time
タイムスタンプは通常「2002-02-21 23:30:39.942229878
-0800」のようになり、日付、小数秒を含む時刻、タイムゾーンをインターネットRFC 2822の書式で示します。小数秒のタイムスタンプに対応しないホストでは、小数秒は省略されます。ただし、ロケールカテゴリーLC_TIMEが「C」または「POSIX」の場合は、「Thu Feb 21 23:30:39 2002」のような従来のタイムスタンプが使われます。
--label=labelオプションでヘッダーの内容を変えられます。別のファイル名を表示するを参照してください。
続いて、1つ以上の差分のhunkが並びます。各hunkは、ファイルが異なる1つの領域を示します。context書式のhunkは次のようになります。
*************** *** from-file-line-numbers **** from-file-line from-file-line... --- to-file-line-numbers ---- to-file-line to-file-line...
hunkに2行以上が含まれる場合、行番号は「start,end」のようになります。それ以外の場合は、終了行の番号だけを表示します。空のhunkは、そのhunkの直前の行で終わるとみなされます。
異なる行の周辺の文脈行は、2つのスペース文字で始まります。2つのファイル間で異なる行は、次のいずれかの識別文字と、それに続くスペース文字で始まります。
- ‘!’
2つのファイル間で変更された、1行以上のまとまりに属する行です。このhunkの他方のファイルに対応する部分にも、「!」で示された対応する行のまとまりがあります。
- ‘+’
2番目のファイルに「挿入された」行で、最初のファイルには対応するものがありません。
- ‘-’
最初のファイルから「削除された」行で、2番目のファイルには対応するものがありません。
hunk内の変更がすべて挿入である場合、from-fileの行は省略されます。変更がすべて削除である場合、to-fileの行は省略されます。