bzr log -r date:tomorrow..

Bazaar Advent Calendar最終日は、Bazaarの今後について、いくつかのキーワードとともに話をしようと思います。
最後までネタがアレでごめんなさい。

ねんがんの i18n を てにいれたぞ

2月にリリースされる2.5から、オンラインヘルプなどが多言語対応されることになりました。こんな感じで、日本語でヘルプが表示されるようになります。

$ bzr help status
Purpose: ステータスのサマリーを表示します。
Usage: bzr status [FILE...]

Options:
-S, --short 省略形式でステータスを表示します。
-v, --verbose Display more information.
-V, --versioned バージョン管理されているファイルだけを表示します。
--no-pending マージ中の情報を表示しません。
・・・(略)・・・

Mercurialなんかには前から日本語のオンラインヘルプがあったので、ようやくという感もありますが、これでプロジェクトへの導入の敷居もだいぶ下がるんじゃないでしょうか。
※翻訳作業は現在進行中なので、2.5リリース時には全ての日本語リソースはそろわないと思いますが、主要なコマンドについては一通り日本語ヘルプを用意したいところです。

coloしてでもうばいとる

今更だけどbzr-coloの話をするよ(基本編) - wonderful_pandaの日記 で書いたように、現在、Colocated Branchの機能を標準機能として取り込むための作業が着々と進められています。

現在は、内部構造の実装を進めつつ、ユーザインターフェイスの設計についての議論が重ねられている状態で、2012中にはqbzrやBazaar Explorerなども含めてちゃんと利用できる形になると思います。
今でもプラグインである程度はできているんですが、どうしてもプラグインだとGUIのサポートや周辺ツールとの連携が手薄になりがちなので、標準機能になることによってそのあたりが改善されてより使いやすくなるはずです。
GitやMercurialはそもそもColocatedブランチが前提で成り立っているので、bzr-gitやbzr-hgで連携するときに今よりもっと自然な形でできるようになるはずっていうのもありますね。

Nested Tree

NestedTreesDesign - wiki.bazaar.canonical.com
あるリポジトリに他のリポジトリのツリーを取り込むための機能として、Gitにはsubmodule、Mercurialにはsubrepoと呼ばれる機能があります。この機能で、巨大なプロジェクトのツリーを複数の小さなツリーの組み合わせとして扱うことができるようになります。
Bazaarでも、ScmProj(ScmProj plugin in Launchpad)というプラグインを利用して同じように実現できるのですが、やっぱりbzr-coloと同じで、プラグインだとGUIのサポートなどは手薄になりがちです。

この機能をBazaarネイティブでサポートしようというプランがかねてからあって、対応したブランチも存在するものの、ずっとPending状態になっていましたが、6月ごろにScmProjの開発者の方からの投げかけもあって再び動きそうな気配です。
2012中には、ネイティブで実現されるかもしれません。

History Horizon

HistoryHorizon - wiki.bazaar.canonical.com
branchの際に、すべての履歴を持ってくる代わりに、指定したリビジョン以降だけを持ってこれるようになる機能です。

この機能については、コンセプトはかなり早い段階にまとめられていて、僕も個人的にすごく期待しているのですが、残念ながらリリース時期についてはまだはっきりとしたことは分かりません。
おそらく、Colocatedブランチがリリースされたあたりでこちらに動きがあるんじゃないかと思います。

ところで、ヒストリーホライズンってロマサガ2の陣形にありそうじゃね?

個人的なRoadmap

ここから先は、僕個人の話です。

TortoiseBzr

TortoiseBzrについては、以下のような内容のエンハンスを考えています。

qbzr

qbzrに関して、改良したいところがたくさんあるので、2012はむしろそっちをやりたいなあと。

  • External Diffの改良および高速化
  • qdiffの高速化(qscintilla使う?)
  • 複数ブランチの履歴参照をもっと使いやすく
  • rebase GUI
  • エンコーディングセレクタの改良

などなど

その他

いいかげん、Visual Studio Integrationを何とかしたいですね。
作るよりも継続的にエンハンスするほうが難しいんですが。Visual Studio高いし。

まとめ

  • 2012も色々と進化する予定ですよ。
  • -r date:tomorrowの使い道を誰か教えて。

25日間、Bazaar Advent Calendar 2011におつきあいありがとうございました。