Mercurial Dev を実験台にしてパッチを送る方法を学んだ
投稿日:2008/10/10 04:00:06
事の発端
すでに4ヶ月前になりますが、こんなものを作っていました。
[追記 2008/10/12] 以下の URL に patch をあてて、monoblue を試す方法を書きました。
しばらく放置…ののち
PATCH 形式でくれっていわれて、すぐに送るつもりだったけど、hgwebにグラフ機能がついたり、直す箇所とかもあって放置していたら、すでに10月でした。とあるメールがきっかけで勢いで作ってパッチを送ったんですが、見事に失敗…Mercurial Developers の ML にゴミを残してしまいました。
問題のポイント
Mercurial Developers の ML はいつも見てるので、パッチを送る場合は、[PATCH]とか複数の場合は[PATCH 1 of 3]みたいな感じで送ればいいんだなと認識してたので、そういう感じで作ってみました。今回のパッチは、すべてのファイルが新規ファイルで、10個以上のHTMLとCSSを含んでいるので行数にすると1400行くらいです。これをメールの本文に貼るのは、つらいと思っていくつかに分割してみました。(そもそもこれが間違いで、分割するのはChangesetが分かれてるときだけっぽい)。で、手動で3つに分けてGmailから送信。
なぜ分割したかという言い訳をちょっとしておくと、最初に1400行のまま送ったパッチがどうやら送信されなかったっぽい?ので容量オーバーかと思ったわけです。
ご教授頂く
自分が送ったパッチを見てくれた方が、Gmailからの送信のときに改行でおかしくなってるよと指摘してくれて、↓の Patchbomb という拡張機能を教えてくれました。この機能を見てちょっとはずかしくなったわけです。どうやら[PATCH 1 of 3]っていうのは、手動でやってるわけじゃなくて、この拡張を使うと勝手に changeset に分けてそういうメールを作って送ってくれるみたいなんです。使ってみてちょっと感動しました。
http://www.selenic.com/mercurial/wiki/index.cgi/PatchbombExtension
Twitter で長い URL を載せるときに自分で TinyURL に行って短い URL にして貼っていたのを思い出しました。勝手にやってくれるのを知ったときも衝撃でしたね。
パッチの問題はいろいろあるっぽい?
こんだけ大量のパッチがとびかってるとそりゃー大変でしょうね。↓こんなのがあがってました。パッチを送るときの心得みたいなものがのってます。本文にインラインで入ってるのが望ましいっていうのがちょっと意外だったんだけど、大量のパッチをさばくとなるとその方が楽なのかな。添付だと確かに開く手間がちょっとあるし。
http://www.selenic.com/mercurial/wiki/index.cgi/SuccessfulPatch
というわけで
Mercurial を使ってるプロジェクトでパッチをやりとりするならこの方法なのかな。本家がやってるくらいだから推奨なんでしょうね。
で、自分のパッチが採用になるかは分かりませんが、特にすごい技術力がなくても(たいしたデザインもしてないし、HTMLとCSS書いただけ)こうやってオープンソースのプロジェクトに参加できるんだなってことが分かったし、いろいろと勉強になります。英語とかも。目指せ世界進出。
- Posted at:
- 2008/10/10 04:00:06
- 3 Comments
- 0 TrackBacks
- Tags:
- mercurial
- Trackback:
- http://blog.monospace.jp/2008/10/10/mercurial_sending_patch/trackback/
TrackBacks
まだ登録されていません。
Comments
tsukkee
エントリとは直接関係ない質問ですみません.
http://selenic.com/repo/index.cgi/hg/graph
にあるようなグラフ機能を有効にするにはどうすれば良いですか?または,開発版でないと有効でなかったりしますか?
hfunai
現在のところ開発版でしか使えないようです。
次のリリース(1.1.3)あたりで使えるようになるのではないかなーと思っていますが…これあった方がいいですよねー。
tsukkee
なるほど、やはり開発板ですか。
この機能はかなり魅力的なので早く使いたいところです。
教えて頂きありがとうございました。