ソフトウェア開発におけるパッチ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/19 04:42 UTC 版)
「patch」の記事における「ソフトウェア開発におけるパッチ」の解説
patch への入力となる diff ファイルは読み取り可能なテキストファイルであり、使う前に人間が中身を確かめることが容易である。より進んだ diff を使った場合、パッチ適用前に独自に修正されたファイルにもパッチを適用可能である(それらの修正が patch を妨げない限り)。これは例えばコンテキスト形式 (diff -c) やユニファイド形式 (diff -u) を使う場合である。これらの diff は変更箇所の前後の文脈(コンテキスト)も diff の一部として示す。patch はそれらの情報を使って、行番号がずれていてもパターンマッチングによってパッチ適用箇所を特定する(もちろん、最初は行番号を使ってパッチを適用しようと試みる)。 コンテキスト形式やユニファイド形式は行番号に依存しないのでパッチに適している。ユニファイド形式は慣れていないと読みにくく、コンテキスト形式の方が分かりやすい。ただし、ユニファイド形式の方が非常にコンパクトになる。また、多くのオープンソースプロジェクトは「diff -u 変更前ファイル 変更後ファイル」で生成されたユニファイド形式のパッチを推奨している。 diff プログラム以外にも diff 形式のファイルを生成するプログラムがある。ほとんどのバージョン管理システム(Git、Subversion、CVS、RCSなど)は対応している。バージョン管理システムでもパッチは重要な要素である。 オープンソースの世界では、diff と patch を使って修正をやり取りするのが一般的である。あるフリーソフトウェアのソースを外部の者がダウンロードし、修正を加え、それを diff 形式でチームに送る。そうすると、チームメンバーはそれをパッチとして適用する前にレビューでき、外部の者がアクセスできるソースではなく、開発中の最新のソースにパッチを適用することで修正を取り込むことができる。
※この「ソフトウェア開発におけるパッチ」の解説は、「patch」の解説の一部です。
「ソフトウェア開発におけるパッチ」を含む「patch」の記事については、「patch」の概要を参照ください。
- ソフトウェア開発におけるパッチのページへのリンク