2013年のMercurialの主な変更点 #mercurialjp
このエントリはMercurial Advent Calendar 2013 の18日目です。
3ヶ月に一度メジャーリリースのあるMercurialはこの一年で2.4から2.8までバージョンアップしました。その間にあった主な変更点をまとめたいと思います。
機能追加
Command
enable secret phase commit (in 2.7)
- コミットするときにsecretフェーズでコミットできるようになりました。
apply non-interactive working dir updates in parallel (in 2.6)
hg update
時に走るマージが並列で動くようになりました。詳しくは次を参照してください。
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を有効にしても使えます。
- mqから
add shelve extension (in 2.8)
- みんな大好き
hg shelve
が追加されました。 hg graft
のように3-way mergeが動くよ!
- みんな大好き
HgWeb
websub template filter (in 2.6)
- Interhgエクステンションを置き換える機能が追加されました
詳しくは次を参照してください
revset syntax support to search (in 2.8)
- hgwebの検索でrevsetを使って履歴の絞り込みが行えるようになりました。便利!
infinite scrolling to graph (in 2.8)
Others
template filter imporvement (in 2.4)
- if文などテンプレートフィルターが更新されました。
unionrepo scheme (in 2.6)
あと、たくさんのパフォーマンスチューニングが入りました。
非推奨になった機能
Mercurialの非推奨は、helpに表示されない機能のことをいいます。必ずしも将来機能が削除されるという訳ではありません。
Command
hg tip (from 2.7)
- helpでは
hg heads
を利用することを推奨しています。
- helpでは
hg rollback (from 2.7)
- helpでは
hg commit --amend
を利用することを推奨しています。
- helpでは
おまけ
pyconjp2012からpyconjp2013の間にあった主な変更点については次を参照してください。
まとめ
いろいろ追加されていますね。新機能については残りのアドベントカレンダーで書くかもしれないので、適度に期待していてください。
*1:あまりメンテナンスされてなさそうなあれです。