Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Mercurial 3.2.1 is released !

158 views
Skip to first unread message

FUJIWARA Katsunori

unread,
Nov 12, 2014, 11:44:21 AM11/12/14
to mercur...@googlegroups.com
藤原です。

重要障害修正のための緊急リリースとして Mercurial 3.2.1 が公開され
ました。


今回のリリースにおける修正のメインは、discovery (push/pull 等での
履歴差分検出)、rebase およびブックマークに関する以下の修正です。

- bookmarks: fix formatting of exchange message (issue4439)

  表示用メッセージのフォーマット処理の不具合による異常終了を回避す
  るための修正です。

- discovery: indices between sample and yesno must match (issue4438)
- discovery: limit 'all local heads known remotely' to real 'all' (issue4438)

  構造的ヘッドが大量にあるケースで、連携先との履歴差分検出が正しく
  機能しない障害の修正です。

  未マージな大量のヘッドを維持する運用を行っているケースでは、この
  障害が発生する可能性があります。

- rebase: fix rebase with no common ancestors (issue4446)

  rebase 元と rebase 先に共通の祖先が存在しない場合に、例外終了し
  てしまう障害の修正です。

  通常の利用ケースでは「共通の祖先が存在しない」ことが無いので、影
  響度としては、それほど高くない筈。


障害修正として既に取り込まれていた以下の修正も、一緒に公開されてい
ます。

- changegroup: don't store unused value on fnodes (issue4443)

  不要データのキャッシュによるメモリ浪費の修正です。

- convert: use git diff-tree -Cn% instead of --find-copies=n% for older git

  Mercurial 3.2 から、git の複製判定にデフォルトで --find-copies
  オプションを使用するようになったのですが、このオプションは git
  1.7.4 から追加されたものなので、それよりも古い git コマンドを使
  用する場合は、別途明示的な設定変更が必要でした。

  詳細は 3.2 のリリース詳細を参照してください。

  この修正は、--find-copies の代わりに、古い版の git でも提供され
  ていた -C オプションを使うようにするものです。

- extdiff: quote user-supplied options passed to shell

  extdiff 使用時に、コマンドラインから空白文字等を含む引数の指定が、
  適切に機能しない問題の修正です(内部処理で引用符で囲むようになり
  ます)。

- hgweb: fix a crash when using web.archivesubrepos

  "[web] archivesubrepos" (アーカイブ作成時に subrepo を含める) 設
  定が有効になっている場合に、ウェブ経由のアクセスが正しく機能しな
  い障害の修正です。

- mail: actually use the verifycert config value

  "[stmp] verifycert" (STARTTLS/SMTPS 接続での証明書検証) 設定が、
  false の場合も証明書検証が実施されてしまう障害の修正です。

- serve: correct meta variable of --daemon-pipefds option

  "hg serve" のオンラインヘルプにおける --daemon-pipefds オプショ
  ンの引数値表示の間違いに対する修正です。

- templater: don't overwrite the keyword mapping in runsymbol() (issue4362)

  テンプレート中で、extras や file_copies, file_copies_switch に対
  して、マップ機能 ("{extras % 'extra: {extra}'}") を使用した場合
  に、フォーマット中の要素展開が上手く機能しない障害の修正です。

  テンプレートにおける「マップ機能」の詳細は、以下のブログエントリ
  を参照してみてください(現状のオンラインヘルプでは、あまり詳しい
  説明をしていません)


Katsunori Fujiwara

unread,
Dec 2, 2014, 5:52:27 AM12/2/14
to mercurial-ja
藤原です。

2014年11月13日 1:44 FUJIWARA Katsunori <flying...@gmail.com>:

> 重要障害修正のための緊急リリースとして Mercurial 3.2.1 が公開され
> ました。
>
>
> http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.1_.282014-11-11.29

> - extdiff: quote user-supplied options passed to shell
>
> extdiff 使用時に、コマンドラインから空白文字等を含む引数の指定が、
> 適切に機能しない問題の修正です(内部処理で引用符で囲むようになり
> ます)。

コマンドラインからの差分表示に、extdiff の機能を使って WinMerge を
使用する場合、上記の修正が原因で、WinMerge が期待通りに動作しませ
ん。

具体的には、以下のページ中のスクリーンショットのように、差分表示で
はなくダイアログが表示されてしまいます。

https://bitbucket.org/tortoisehg/thg/issue/3978/

内部処理の問題なので、Mercurial 同梱の設定ファイルをそのまま使用し
た場合でも、問題は改善しません。

なお、"hg merge" や "hg resolve"、TortoiseHg 経由での WinMerge に
よる差分表示では、問題は発生しない筈です(よね?) > 西原さん


3.2.2 版に間に合わせようとパッチを投げてみたのですが、残念ながら受
理されなかったので、3.2.2 版でもこの問題は発生します…… orz

とはいえ、今月末~来月頭の 3.2.3 版のリリースまで更新できないのは、
あまりにもアレなので、とりあえず対応済み extdiff.py を公開しておき
ます。

本メールに添付した extdiff.py を適当な場所に保存した上で:

[extensions]
extdiff = x:/保存先の/フォルダ/extdiff.py

上記のように、エクステンションファイルの場所を明示的に指定する形式
で extdiff を有効にしてください(ドライブ文字の記述も適切に!)

簡単な動作確認は済ませてありますが、使用していて問題があればお知ら
せください。

また、WinMerge 以外にも、最新版の extdiff で動かなくなる外部ツール
があれば、そちらの情報も是非お知らせください。

--
----------------------------------------------------------------------
FUJIWARA Katsunori(flying...@gmail.com)
extdiff.py

masaki rikitoku

unread,
Dec 2, 2014, 6:17:31 AM12/2/14
to mercur...@googlegroups.com

"


Mailbox から送信


--
from Mercurial 日本語コミュニティ <mercur...@googlegroups.com>
※ ヘルプ表示は http://groups.google.com/group/mercurial-ja?hl=ja
---
このメールは Google グループのグループ「mercurial-ja」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには mercurial-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。
<extdiff.py>

<extdiff.py>

masaki rikitoku

unread,
Dec 2, 2014, 6:17:33 AM12/2/14
to mercur...@googlegroups.com


Mailbox から送信


On Tue, Dec 2, 2014 at 7:52 PM, Katsunori Fujiwara <flying...@gmail.com> wrote:

--
from Mercurial 日本語コミュニティ <mercur...@googlegroups.com>
※ ヘルプ表示は http://groups.google.com/group/mercurial-ja?hl=ja
---
このメールは Google グループのグループ「mercurial-ja」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには mercurial-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。
<extdiff.py>

<extdiff.py>

Katsunori Fujiwara

unread,
Dec 29, 2014, 8:13:21 PM12/29/14
to mercurial-ja
藤原です。

2014年12月2日 19:52 Katsunori Fujiwara <flying...@gmail.com>:

> 2014年11月13日 1:44 FUJIWARA Katsunori <flying...@gmail.com>:

>> - extdiff: quote user-supplied options passed to shell
>>
>> extdiff 使用時に、コマンドラインから空白文字等を含む引数の指定が、
>> 適切に機能しない問題の修正です(内部処理で引用符で囲むようになり
>> ます)。
>
> コマンドラインからの差分表示に、extdiff の機能を使って WinMerge を
> 使用する場合、上記の修正が原因で、WinMerge が期待通りに動作しませ
> ん。
>
> 具体的には、以下のページ中のスクリーンショットのように、差分表示で
> はなくダイアログが表示されてしまいます。
>
> https://bitbucket.org/tortoisehg/thg/issue/3978/
>
> 内部処理の問題なので、Mercurial 同梱の設定ファイルをそのまま使用し
> た場合でも、問題は改善しません。
>
> なお、"hg merge" や "hg resolve"、TortoiseHg 経由での WinMerge に
> よる差分表示では、問題は発生しない筈です(よね?) > 西原さん
>
>
> 3.2.2 版に間に合わせようとパッチを投げてみたのですが、残念ながら受
> 理されなかったので、3.2.2 版でもこの問題は発生します…… orz
>
> とはいえ、今月末~来月頭の 3.2.3 版のリリースまで更新できないのは、
> あまりにもアレなので、とりあえず対応済み extdiff.py を公開しておき
> ます。

Mercurial 本体に修正が取り込まれました。が、変更方式の都合上、修正
が有効になるのは、2月冒頭にリリースされる 3.3 からになります。

最終的な修正版は、以下の URL からも入手することができますので、正
式公開前に利用する場合は、以前のメールに添付したものではなく、こち
らの使用をお勧めします。

http://selenic.com/repo/hg/raw-file/9476cb62298e/hgext/extdiff.py

hokorobi

unread,
Jan 10, 2015, 11:00:56 AM1/10/15
to mercur...@googlegroups.com
hokorobi です。

この extdiff.py だと Mercurial 3.2.3 で使うとエラーになるようなので、以前の添付版を使っています。

AttributeError: 'progressui' object has no attribute 'system'


2014年12月30日火曜日 10時13分21秒 UTC+9 FUJIWARA Katsunori:

Katsunori Fujiwara

unread,
Jan 10, 2015, 11:19:06 AM1/10/15
to mercurial-ja
藤原です。

2015年1月11日 1:00 hokorobi <hokorobi...@gmail.com>:

> この extdiff.py だと Mercurial 3.2.3 で使うとエラーになるような
> ので、以前の添付版を使っています。
>
> AttributeError: 'progressui' object has no attribute 'system'

おっと失礼。以下の修正の影響で、最新の mercurial/ui.py 定義との併
用じゃないと動かなくなってました。

http://selenic.com/repo/hg/rev/41c03b7592ed

Windows 環境だと、mercurial/ui.py の上書きは流石にアレなので、以前
添付したものを使ったほうが良さそうですね。
Reply all
Reply to author
Forward
0 new messages