大きなパッチを小さな(互いに素な)パッチに分割する必要がある場合があります。含まれている個別の機能ごとに。
通常、私は標準のvim yank/ddコマンドと分割ウィンドウ切り替えを介してそれを行います。
しかし、そのような種類の編集に役立つツール/ vimトリックはありますか?
たとえば、次のようなコマンドのサポート:次の3つの完全なハンクを右に開いたパッチファイルに移動します
Patchutils [1]を調べてみてください。 vimの部分については、パッチをナビゲートするのに役立つ小さなvimプラグインを作成しました:diff_navigator [2]。
ややトピックから外れていると思いますが、それでも役立つと思います。
Gitを使用して開発を行う場合は、変更全体を、それぞれ1つの機能を具体化する小さな「ハンク」に簡単に分割できます。機能ごとに1つのコミットが作成され、gitのgit-format-patch
を使用してパッチを作成(さらには署名して適切に属性付け)できます。その方法を概説しました ここ
私のSuseにはsplitdiff
utilがあります。これは次のように機能します。
$ splitdiff -a tmp.179639.patch
Wrote >tmp.179639.patch.part001
Wrote >tmp.179639.patch.part002
this を使用して大きなパッチを小さなチャンク(ファイルごとまたはすべてのハンク)に分割し、マージする必要がある場合は、 patchutilsPetr Uzelの回答で言及されたパッケージ