彷徨えるフジワラ

年がら年中さまよってます

Mercurial勉強会

参加してきました。運営担当の Voluntas 氏/kuma8 氏は勿論、スピーカーの hfunai 氏/MiCHiLU 氏、そして参加者の皆さん、お疲れ様でした。

細かい話はバンバン飛ばして、ざっくり説明すれば時間的には大丈夫、と思っていたのに、聴き手を前にすると、ついつい説明したくなってしまう悪い癖が出て、時間枠オーバーな上に後半はかなり急ぎ足な説明に…。死にたい orz
発表資料は、私のサイトの解説ページで公開しておきますので、参考になれば幸いです。

なお、残念ながら私の脳内キャッシュ領域はハーバードアーキテクチャになっていないため、新しく取り込んだ技術情報の分だけ人名情報がパージされてしまいますので、再会した際に『はじめまして』などと失礼な言動に出る可能性が非常に高いですがご容赦ください > 参加された皆様

以下、細かいネタを落穂拾い的に。

mapファイルは悪くない(かもしれない)

『諸悪の根源』と悪評の高い style 定義用の map ファイルですが、長くなりそうな定義を全て外部ファイル読み込みにすれば、HTML ワンライナーなどという苦行は(理論上は)不要です。

もっとも、HTTP 要求毎にカスケード的なファイル open をしていたのでは、性能が出ないだろうことは言うまでも無いので、結局はワンライナーなのかなぁ。(建前上は)テンプレートファイル自体は不変なので、上手いこと内部キャッシュしてくれても良さそうな気もするけどどうなんだろう?

PatchbombExtension

hfunai 氏の発表の最後で話題に上がったPatchbombExtensionを使う際の、私の基本設定は以下の様な感じ。

[email]
method = smtp
charsets = utf-8

[smtp]
host = 127.0.0.1
username = fujiwara
port = 25

method=smtp だと、PythonSMTP ライブラリ経由でメールを投げてくれる(予想)ので、メール送信用のコマンドを入れていない環境でも大丈夫。

charset 設定は、日本語メッセージファイルのパッチを送る際の文字化け防止用。今時の MTA なら 8bit セーフな気もするけど、昔気質の人間としては石橋を叩きたいところ。

smtp 設定で接続先が localhost なのは、私用で使う環境の SMTP/IMAP 接続は、Wi-Fi の暗号化なんて信じずに常に ssh のポートフォワードをかませているため。

MQは奥が深い

MiCHiLU 氏とは、MQ は便利なのに理解されにくいよね、という話でひとしき盛り上がる。

bitbucketを絡めた MQ の便利な利用に関しては今後も研究が必要、ということで合意。

履歴記録をケチるな

懇親会会場までの道すがら、『リベースって必要無くない?』という話題でイアン氏とひとしきり盛り上がる。私も、履歴を一本道にしたがる理由がさっぱり理解できない人なので、全面的にイアン氏に賛成。

ついでに、『複数のリビジョンをまとめて、履歴を綺麗にしたい』というのも、私個人としては理解不能領域に近い。

記憶領域単価は今となっては只同然だし、『恥ずかしい記録』は、むしろ自戒の意味で重要。それに、経験上、リビジョンが 500 とか 1000 とかを超えたら、『記録』『再現』『検索』が保証されていれば、個々の履歴の『綺麗さ』は全然気にならないと思う。

ジャカスカ売れれば出せるかも!?

入門Mercurial』の応用編を是非!という話題も出ましたが、まずは入門編が売れてくれないことには難しいです。ごめんなさい。

日本語のコミュニティはやっぱり必要だよね

イアン氏の尽力で、本家にも日本語フロントページが出来てたりするけど、やっぱり日本語で質問とかできるコミュニティが必要だよね、という話題が。

確かに、勉強会に参加してバリバリ extension を書くぜ!という人も必要だけど、もうちょっと利用者の裾野を広げる方が Mercurial にとっては急務じゃないのかなぁ。

ML + Wiki あたりを確保することを考えると、やっぱり Google Groups とか Google Site が妥当かな?

hg qrefresh のガード機能は是非欲しい

『qnew を忘れてうっかり qrefresh やって、綺麗なパッチを台無しにするのを防ぐ方法は無いですか?』という質問が。私もそれ、よくやります。っつーか、それを防ぐ機能拡張ってアイディア、良いなぁ。

というわけで、帰宅途中に早速 mq.py をいじってみました。とりあえずガード機能はできたので、あとはガード対象の保守コマンドを作れば完了です。週末にはパッチ公開できそうな感じ。

コミットログに発案者情報を追記したいので、件の質問をされた方、お手数ですが連絡お願いします。