git で gdb + binutils の追っかけ.

本質的に(?)パッチの投げ合い合戦になるOSS開発では,パッチをいかに迅速に投げられるかが勝敗を決する*1
だから git は手放せない.

だがしかし,git の活用を阻むものがある.相互依存しているプロジェクトの壁だ.
git はパッチセットのIDをハッシュ値としている.このハッシュ値は,中途半端にsvn/svnリポジトリを共有しているプロジェクトだと,各プロジェクト毎に違ったものとして認識される.
この例の代表的なものとして,sourceware.org のものがある.gdbbinutils は,だれにいわせても間違いなく相互補完的なプロダクトで,片方だけ追っかけるなんていうことは稀だ.
だが,sourceware.org の管理者たちは,何を思ったのか,CVS module 毎に git リポジトリを分けた.彼ら,判っちゃいない.何が起こるかと言うと,パッチセットの内容は全く同じなのに,ハッシュ値が同一でないので,マージしようとするとコンフリクトを起こす.

あまりにも不便だと思ったのか,github.com にリポジトリを立てた人がいる.しかし,更新が止まっている.残念.
なので,fork して毎日深夜に更新をかけることにした.
cvsps の出力に対して git-cvsimport が不平を言うので,今のところトラッキングは,masterのみ.
更新スクリプトをいつまで走らせるかは判らないが,これがないとピザ焼きが困難なのでしばらくは更新を続けていくはず.

*1:いや勝ち負けの問題ではないけど