彷徨えるフジワラ

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

TokyoMercurial #2

TokyoMercurial #2 に参加してきた。

# 公式ページは bitbucket 上

今回も開催/運営お疲れ様でした! > id:troter

色々まとめたりしていると、公開が遅くなってしまうので、とりあえず『コミットメッセージを事後改変するエクステンション』実装の概要を貼って今日のブログエントリは終了(笑)。

※ 別途、まとめのエントリを公開@2012/03/01

from mercurial import cmdutil, extensions

# cmdutil.commiteditor の wrapper 関数
def commiteditor(orig, repo, ctx, subs):
    # 元処理の呼び出し
    text = orig(repo, ctx, subs)

    branchname = ctx.branch()
    if branchname.startswith('issue'):
        lines = text.splitlines() # 行分割
        # issue と関連付いたコミットの場合、
        # 強制的にコミットログを改変
        text = '\n'.join(lines) # 行結合
    return text

# エクステンション読み込み時に自動的に呼ばれる関数
def uisetup(ui):
    # cmdutil.commiteditor の差し替え
    extensions.wrapfunction(cmdutil, 'commiteditor', commiteditor)