Mercurial is now in code freeze for 3.4 !

52 views
Skip to first unread message

FUJIWARA Katsunori

unread,
Apr 18, 2015, 4:23:31 AM4/18/15
to mercur...@googlegroups.com
藤原です。

来月頭に予定されている 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 オプション
  指定により、取り消し対象の変更を、対話的に取捨選択できるようになっ
  ています。

Yuya Nishihara

unread,
Apr 18, 2015, 6:41:55 AM4/18/15
to mercur...@googlegroups.com
On Sat, 18 Apr 2015 01:23:31 -0700 (PDT), FUJIWARA Katsunori wrote:
> 以下、エンドユーザの使い勝手に関わる 3.4 での変更を WhatsNew ペー
> ジからピックアップしてみました。

これも重要だと思います:

- log: make -fr show complete history from the given revs

hg log -frREV が hg log -r "reverse(::REV)" の意味になりました。
便利ですね。

> - "hg annotate" で作業領域中の変更由来の行が表示可能に
>
> これまでの "hg annotate" は、コミット済みリビジョンでのファイル
> 内容についてのみ、由来行を表示することができました。
>
> 今回のリリースからは、対象リビジョン指定に(現時点では非公開な)
> revsets 述語の "wdir()" を指定することで、作業領域中の未コミット
> 変更由来の行を "hg annotate" で表示できるようになりました。
>
> $ hg annotate -r "wdir()" README
>
> 作業領域中の変更由来の行は、リビジョン番号/識別用ハッシュ値表示
> の際に、"作業領域の第1親の値+" (例: "10+") の形式で表示されます。

_adjustlinkrev() が働かないバグを見つけました。修正中です。
以下のようなリポジトリで hg annotate -r "wdir()" を実行すると、別ブランチの
リビジョンが表示される場合があります。

http://selenic.com/repo/hg/file/3.4-rc/tests/test-annotate.t#l537
Reply all
Reply to author
Forward
0 new messages