quilt を使ったパッチのつくり方

基本的な使い方

1.新しいパッチを定義
  初回の場合は、これで .pc と patches ディレクトリが作成されます。

quilt new sample1.patch

2.編集対象のファイルを追加

quilt add README.md

3.ファイルを編集

vi README.md

4.diff を確認

quilt diff

5.パッチを更新

quilt refresh

これで、patches/sample1.patch が quilt diff の内容で更新されることになります。
ファイルを更新した場合は、quilt refresh を繰り返していけば、OKです。

6.修正前に戻すために、パッチを外す。(optional)

quilt pop

基本的な使い方(2個目のパッチ以降)

必ず、すべてのパッチを適用した状態から始めます。
そうしないと、同じ箇所に修正を行っていた場合に、パッチコンフリクトとなり、適用できない可能性が出てしまいます。
後からあてるパッチは、その前にあてるパッチの修正内容を含んだ状態でパッチ作成がおすすめです。

1.すべてのパッチを適用

quilt push -a

2.パッチを作成

quilt new sample2.patch
quilt add README.md
vi README.md
quilt diff
quilt refresh

よく使われるコマンド一覧

新しいパッチの定義を追加(現在ターゲットしているパッチの後ろに追加)

quilt new  <patch file>

パッチを1つ適用

quilt push

パッチをすべて適用

quilt push -a

パッチを1つ取り外し(reverse patch)

quilt pop

パッチをすべて取り外し(reverse patch)

quilt pop -a

直前に適用されたパッチの確認(現在ターゲットしているパッチで、quilt refresh したときの更新対象にあたるパッチ)

quilt top

パッチの適用順序確認

quilt series

適用済みパッチの確認(一覧の末尾は quilt top で表示されるパッチと同じになる)

quilt applied

未適用パッチの確認(一覧の先頭は quilt next で表示されるパッチと同じになる)

quilt unapplied

現在ターゲットしているパッチの編集対象ファイルの確認

quilt files

現在ターゲットしているパッチに編集対象ファイルを追加

quilt add <filename>

現在ターゲットしているパッチの編集対象ファイルの diff 表示(quilt add した時点との差分)

quilt diff

現在ターゲットしているパッチの編集対象ファイルの diff でパッチを更新

quilt refresh