藤原です。
来月頭に予定されている Mercurial のメジャーリリースに向けた、
3.4-RC が公開されています (RC 版のエントリは、3.4 公開時に削除され
てしまうので、ページへのリンクのみ提示)
現時点では、Windows 向け 3.4-RC のインストーラはまだ公開されてない
みたいですが:
人柱^h^h先進的ユーザの皆様なら、pure Python 版をビルド (要
Windows native Python) して、hg.bat を使うという手も!(笑)
python setup.py --pure install --root="/" --prefix="PATH/TO/INSTALL" --force
3.2-RC から始まった、「重要なバグの報告者へのTシャツプレゼント」は、
今回も実施している筈なので、Windows ユーザに限らず、色々無茶をやっ
てみては如何でしょうか?
プレゼント対象は「修正者」ではなく「報告者」ですから、実装内情に詳
しくなくても大丈夫です。むしろ、内情に配慮しない酷使の方が、バグを
引き当てる可能性は高いかもしれません(笑)
多少英語が苦手でも、発生条件と期待される実行結果・実際の実行結果の
箇条書きで行ける筈です。
以下、エンドユーザの使い勝手に関わる 3.4 での変更を WhatsNew ペー
ジからピックアップしてみました。
- "hg annotate" で作業領域中の変更由来の行が表示可能に
これまでの "hg annotate" は、コミット済みリビジョンでのファイル
内容についてのみ、由来行を表示することができました。
今回のリリースからは、対象リビジョン指定に(現時点では非公開な)
revsets 述語の "wdir()" を指定することで、作業領域中の未コミット
変更由来の行を "hg annotate" で表示できるようになりました。
$ hg annotate -r "wdir()" README
作業領域中の変更由来の行は、リビジョン番号/識別用ハッシュ値表示
の際に、"作業領域の第1親の値+" (例: "10+") の形式で表示されます。
- "hg incoming -B"/"hg outgoing -B" でブックマーク差分の詳細が表示
これまで、"hg incoming -B" および "hg outgoing -B" でのブックマー
ク差分表示は、それぞれ「対象リポジトリで新規追加されたもの」およ
び「手元のリポジトリで新規追加されたもの」のみの表示でした。
今回のリリースからは、連携先と手元のリポジトリで、参照先リビジョ
ンが異なるブックマークは、全て表示されるようになります。
また、-v/--verbose 付きで実行した場合、表示されるブックマークご
とに、連携先とどのように違うのかの情報も表示されます(既存のツー
ルとの連携互換を考慮して -v 無指定時は非表示)。
BM1 01234567890a added
BM2 1234567890ab advanced
BM3 234567890abc diverged
BM4 34567890abcd changed
表示形式の詳細に関しては hg help -v で参照してください > incoming/outgoing
- 差分入出力でのプレフィックスの扱いに対する強化
- "hg diff" や "hg qdiff" (mq) での diff 出力におけるプレフィッ
クス表示の抑止オプション --noprefix の追加
- "hg import" の際に、--prefix PREFIX を指定することで、パッチ適
用対象ファイルのパスを PREFIX 配下に変更することができます
- ブランチ閉鎖リビジョンの表示マークの変更
"hg log -G" での「ブランチ閉鎖リビジョン」の表示が "_" になりました。
- 対話的な変更取捨選択の強化
これまでは、"hg commit" の際に hunk 単位で変更を取捨選択するには、
標準同梱される record エクステンションを有効にする必要がありまし
た。
今回のリリースから、--interactive オプションが "hg commit" の標
準機能になりました (qrefresh/qnew での --interactive 指定には、
従来通り record エクステンションの有効化が必要な模様)。
また、"hg revert" や "hg shelve" でも、--interactive オプション
指定により、取り消し対象の変更を、対話的に取捨選択できるようになっ
ています。