Mercurial の既知の障害

112 views
Skip to first unread message

Katsunori FUJIWARA

unread,
Mar 29, 2012, 1:09:50 AM3/29/12
to mercurial-ja
フジワラです。

まもなく、修正が反映された 2.1.2 版がリリースされますが、
一応の周知のために投函しておきます。

以後は、僕の目の届く範囲で速報を流そうと思いますが、「ひょっとしてこれは?」
という挙動を目にした方は、僕の方でも確認してみますので、ML に投函するか、
@flyingfoozy 宛に tweet してください。

既存の Mercurial (2.1.1 版)には、以下のような問題があります。

- Mac OS 環境へのインストールが失敗する
http://mercurial.selenic.com/bts/issue3277

XCode の版等によって、ソースからのビルドが失敗する障害です。
ソースからのビルドが失敗するので、ソースビルドを伴うパッケージ
導入も失敗します。

この障害の特徴は、「'list' object has no attribute 'splitlines'」という
エラー出力です。

バイナリ版(C 実装部分がコンパイル済みなもの)であればインストール
できますので、可能であればこちらで回避してください。

- 言語設定が日本語の場合、メッセージ出力で例外が発生する
http://hg.intevation.org/mercurial/stable/rev/d4d35fd0889d
http://hg.intevation.org/mercurial/stable/rev/ce292f1379ba

この障害の特徴は、ugettext() での「UnicodeDecodeError」例外です。

基本的には、『例外発生による "hg update" 失敗時』か、『ファイル名/
タグ名等での日本語使用』が無ければ再現しない筈です。

念のために回避しておきたい場合、1.9 よりも前の版に戻らないといけない
ので、2.1.2 版を待つか、日本語設定を解除するのが妥当でしょう。

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

hisawo

unread,
Mar 30, 2012, 7:34:44 PM3/30/12
to mercurial-ja
高瀬@3年ぶりくらいの投稿です。

On 3月29日, 午後2:09, Katsunori FUJIWARA <flying.fo...@gmail.com> wrote:
> 既存の Mercurial (2.1.1 版)には、以下のような問題があります。
>
> - Mac OS 環境へのインストールが失敗する
> http://mercurial.selenic.com/bts/issue3277

つい最近、パッケージ管理を MacPorts から Homebrew に乗り換えたのですが、
そのときにこの問題でハマりかけました。

MacPorts は Mercurial のパッケージも用意されていますが、Homebrew にはなく、
pip や easy_install を使用せよ、ということだったんですが、その際に上記の
問題に遭遇してしまいました。

#ちなみに環境は MacOSX 10.6.8 (32bit) / XCode4.2 です。

私はバイナリ版を使用することで対応しました(恥ずかしながらMac用バイナリ版
があることを知りませんでした^^;)。せっかく用意してもらってることですし、
Macだとバイナリ版を使用するのが吉のようですね。

--
TAKASE Hisawo

hisawo

unread,
Apr 3, 2012, 5:56:37 AM4/3/12
to mercurial-ja
高瀬@訂正ですスミマセン。

> MacPorts は Mercurial のパッケージも用意されていますが、Homebrew にはなく、
> pip や easy_install を使用せよ、ということだったんですが、

上記は誤りで、実際には、$ brew install mercurial でも $ brew install hg でも
両方ともOKです。

brew コマンドでインストールしようとしたら "Error: No available formula" と
なって、てっきりパッケージが用意されてないと思ったのですが、肝心の "mercurial"
を typo してたのが原因でした…。

#Homebrewへの乗り換えを検討して情報収集したとき『mercurialパッケージは用意
#されてないので pip で』と解説されたサイトを見ており、実際に試してみたまでは
#よかったんですが『ああやっぱり用意されてないのね』で終わってました。
#少し古い情報なので、その後に用意されたのでしょうね。

以上、#mercurialjp で tanakahisateru さんのアドバイスからでした。感謝!

--
TAKASE Hisawo

フジワラ

unread,
Apr 17, 2012, 6:48:27 AM4/17/12
to mercur...@googlegroups.com
フジワラです。

2012年3月29日木曜日 14時09分50秒 UTC+9 フジワラ:

既存の Mercurial (2.1.1 版)には、以下のような問題があります。

- Mac OS 環境へのインストールが失敗する
      http://mercurial.selenic.com/bts/issue3277

    XCode の版等によって、ソースからのビルドが失敗する障害です。
    ソースからのビルドが失敗するので、ソースビルドを伴うパッケージ
    導入も失敗します。

    この障害の特徴は、「'list' object has no attribute 'splitlines'」という
    エラー出力です。

    バイナリ版(C 実装部分がコンパイル済みなもの)であればインストール
    できますので、可能であればこちらで回避してください。


上記の件に関しては、2.1.2 版で対処されたのですが、先日開催された
TokyoMercurial の席上で、全く別の現象が見つかりました。

"xcode-select -print-path" が "/" しか表示しないような環境では、
インストール冒頭で実行される "xcodebuild -version"
が戻ってこないため、インストールが永遠に終わらない可能性があります。

この状況は、XCode 4.2 系から 4.3 系にアップグレードした場合に発生する
可能性がある模様ですが、僕自身 Mac OS X/XCode については詳しくないので、
どなたか詳細をご存知の方はフォローしていただけると助かります。

明らかに XCode の問題なので、Mercurial としては知らない振りを決め込みたい
ところですが(笑)、ぱっと見、Mercurial のせいで処理が進まないように見えるのが
悩ましいところです。

一応 issue を上げておきましたので、上手く行けば 2.2 版で改善されるかも?

http://mercurial.selenic.com/bts/issue3373

『レアケースじゃない』ということで修正要求を強くプッシュできますので、
『自分の環境でも発生した!』という事例がありましたら、報告お願いします。
Reply all
Reply to author
Forward
0 new messages