このページの内容

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の行は省略されます。