2013年のMercurialの主な変更点 #mercurialjp

このエントリはMercurial Advent Calendar 2013 の18日目です。

3ヶ月に一度メジャーリリースのあるMercurialはこの一年で2.4から2.8までバージョンアップしました。その間にあった主な変更点をまとめたいと思います。

機能追加

Command

Extension

  • evolve extension support (in 2.5)

    • 2.9で入る?といわれてる履歴改変系のエクステンションであるevolveエクステンションがこのバージョンからサポートされました。
  • add blackbox extension (in 2.6)

    • 実行ログをとるエクステンションが追加されました。
  • extract strip function as its standalone extension (in 2.8)

    • mqからhg stripだけとりだして別のエクステンションになりました。
    • hg stripはmqを有効にしてもstripを有効にしても使えます。
  • add shelve extension (in 2.8)

    • みんな大好きhg shelveが追加されました。
    • hg graftのように3-way mergeが動くよ!

HgWeb

  • websub template filter (in 2.6)

  • revset syntax support to search (in 2.8)

    • hgwebの検索でrevsetを使って履歴の絞り込みが行えるようになりました。便利!
  • infinite scrolling to graph (in 2.8)

    • paperテーマだけですが、履歴の自動ページング機能が追加されました。
    • gitwebなど、別のテーマ向けのパッチを作っているので、2.9で入る、、かも。。

      • 2014/01/19 追記 パッチが取り込まれたので、spartan*1以外で有効になります。

Others

非推奨になった機能

Mercurialの非推奨は、helpに表示されない機能のことをいいます。必ずしも将来機能が削除されるという訳ではありません。

Command

  • hg tip (from 2.7)

    • helpではhg headsを利用することを推奨しています。
  • hg rollback (from 2.7)

    • helpではhg commit --amend を利用することを推奨しています。

おまけ

pyconjp2012からpyconjp2013の間にあった主な変更点については次を参照してください。

まとめ

いろいろ追加されていますね。新機能については残りのアドベントカレンダーで書くかもしれないので、適度に期待していてください。

*1:あまりメンテナンスされてなさそうなあれです。