コンテキスト形式(Context format)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/08 14:15 UTC 版)
「diff」の記事における「コンテキスト形式(Context format)」の解説
「コンテキスト形式」の出力では変更された行部分に加えてその前後の変更されていない数行も示される。この呼称は、変更されていない行を加えることが「文脈(コンテキスト)」をパッチに与えることによる。この出力形式がpatchプログラムへの入力として使用される。また人間にとってもこの形式は読みやすく、パッチの適用にも適している。2ファイル間で変更のなかった箇所の行も出力されるため変更後のファイルでの変更箇所を特定するのが容易になる。これにより行番号の対応が取れなかったとしても変更点を追いやすくなり、変更を適用すべきかどうかの判断も行いやすくなる。 「変更内容の出力部」の上下に出力される変更のなかった行を何行分表示されるかはユーザが指定でき、全く出力しない「0」指定も可能であるが、標準では3行が出力される。変更箇所提示部において非変更行のコンテキストが隣接する変更箇所部分と重なる場合は、非変更箇所を2重に提示することはせず変更箇所を一つにまとめて提示する。 「!」から始まる行は2ファイル間での変更があった行、「+」から始まる行は行の挿入、行頭がスペースから始まる行は非変更行を示す。パッチの先頭行にはファイルのパスやタイムスタンプといったファイルに関する情報が書かれる。各変更箇所の先頭にはそれぞれのファイルにおける変更箇所の対応行番号が書かれる。3つのアスタリスク(***)から始まる行では変更前ファイルでの行番号に対応する数字が出力され、3つのダッシュ(---)から始まる行では変更後ファイルでの行番号が出力される。出力行番号の数値はそれぞれのファイルにおける変更箇所の先頭行の行番号と先頭行からの行数を示す。 diff -c original newというコマンドを実行した際は、以下のような出力が行われる。 *** /path/to/original ''timestamp''--- /path/to/new ''timestamp''****************** 1,3 ****--- 1,9 ----+ This is an important+ notice! It should+ therefore be located at+ the beginning of this+ document!+ This part of the document has stayed the same from version to****************** 5,20 **** be shown if it doesn't change. Otherwise, that would not be helping to! compress the size of the! changes.!! This paragraph contains! text that is outdated.! It will be deleted in the! near future. It is important to spell! check this dokument. On the other hand, a misspelled word isn't the end of the world.--- 11,20 ---- be shown if it doesn't change. Otherwise, that would not be helping to! compress anything. It is important to spell! check this document. On the other hand, a misspelled word isn't the end of the world.****************** 22,24 ****--- 22,28 ---- this paragraph needs to be changed. Things can be added after it.++ This paragraph contains+ important new additions+ to this document.
※この「コンテキスト形式(Context format)」の解説は、「diff」の解説の一部です。
「コンテキスト形式(Context format)」を含む「diff」の記事については、「diff」の概要を参照ください。
- コンテキスト形式のページへのリンク