彷徨えるフジワラ

年がら年中さまよってます

「妥当」な Mercurial バージョンの情報

※ 2015-01-19 更新

重要なお知らせ: 1.9 ⇒ 2.0、2.9 ⇒ 3.0、3.9 ⇒ 4.0 といったバージョン番号の増加でも、Mercurial のコンセプト/操作性/互換性等における大きな改変はありません。通常の定例アップデートに過ぎませんので、従来の版を元に書かれている情報の多くは、そのまま適用可能です。

現状でそこそこ妥当な Mercurial の版は以下の通りです。

由来不詳のリビジョンを含むリポジトリから履歴情報を取り込む可能性がある場合は、3.2.3 以降の使用を強く推奨
それ以外の場合は 1.8.1 〜 最新版
(使用状況によっては 2.2 〜 2.2.1 および 2.3 〜 2.3.2 の使用回避を推奨)

また、個別のケースにおいて回避を推奨する版の情報を以下に示します。

  • revsets 記述によるリビジョン指定を多様する場合は、2.5 版以上を推奨(詳細はこちらのエントリを参照)。それ以前の版を使う場合は、2.3 版の使用を回避することを推奨 (詳細はこちらのエントリを参照) ※ 2013/02/07 更新
  • cp932 (Shift-JIS) 環境でファイル名に日本語を使用する場合:
    • 2.3 〜 2.3.2 版の使用は回避することを推奨 (詳細は日本語 ML への投稿を参照) ※ 2012/10/11 追記 (2.4 版で解消済み)
    • 2.0 〜 2.1 版での largefiles エクステンションの使用は回避することを推奨 (※ 2.1.1 版で解消済み)
    • 1.9 版の使用は回避することを推奨 (※ 1.9.1 版で解消済み)
  • 2.3 版と非同梱エクステンションを併用する場合、そのままでは動作しないケースがありますので、非同梱エクステンションを(対応済みの)最新版に更新するか、2.3 版以降の利用を回避してください(詳細は日本語 ML への投稿を参照) ※ 2012/08/16 追記
  • TortoiseHg 経由で strip 操作を行う場合、上記と同じ原因で正常に機能しませんので、2.3 版 (+ TortoiseHg 2.4.3) の利用を回避してください ※ 2012/08/23 追記
  • MacOS でのインストール (ソースからのビルド/パッケージ管理システムの使用) が失敗する場合、2.1.1 版を回避するか、バイナリ版のインストールしてください (※ 2.1.2 版以で解消済み)
  • Windows/Mac OS などの case insensitive filesystem 上で MQ と併用する場合は、2.0.2 版の使用は回避することを推奨 (※ 2.1 版で解消済み)

「この版にはこういった問題がある」といった情報がありましたら、以下の方法などでお知らせください。

続きを読む

執筆書籍一覧

各書籍に関するご意見・ご要望・誤記情報等ありましたら、対応するサポート受け付けエントリへのコメントや、@flyingfoozy へのツイートなどでお寄せ頂けると助かります。

lsを読まずにプログラマを名乗るな!

lsを読まずにプログラマを名乗るな!

lsを読まずにプログラマを名乗るな!

サポート受け付けエントリ

入門TortoiseHg+Mercurial

入門TortoiseHg+Mercurial

入門TortoiseHg+Mercurial

サポート受け付けエントリ

アセンブラで読み解くプログラムのしくみ

サポート受け付けエントリ

俺のコードのどこが悪い?

俺のコードのどこが悪い?

俺のコードのどこが悪い?

サポート受け付けエントリ

入門Mercurial

入門Mercurial Linux/Windows対応

入門Mercurial Linux/Windows対応

サポート受け付けエントリ

virtualenvwrapper.el での環境変数設定を修正

Emacs でのソースコード編集時に Language Server Protocol 経由での補完候補列挙やエラー/警告表示を行うために、 以下のツール群をインストールしてみました。

  • pyls: Language Server Protocol で Jedi と連携するためのフロントエンド
  • Jedi: Python での補完候補列挙やエラー/警告表示を行うツール/pyls のバックエンド
  • lsp-mode: Language Server と連携するための Emacs パッケージ
続きを読む

nwdiag にルーティング表示機能を追加

テキストベースでネットワーク構成図を作成する手段が無いものかと色々探したところ、 nwdiag が良さそうな感じだったのですが、 残念なことにパケットのルーティング周りに関して図示する機能がありませんでした。

blockdiag.com

他に良さそうなものがなかったのと、 それっぽい用途向けと思われる route ステートメントが途中まで実装されていた状態だったので、 nwdiag にルーティングを図示する機能を追加してみました。

github.com

続きを読む

はてなブログへの移行

はてなダイアリーがサービスを終了するとのことなので、はてなブログに移行することにしました。
ブックマークや RSS フィードの対象を はてなブログ版「彷徨えるフジワラ」 に切り替えてください。

Mercurial に関するコミュニティ由来の成果(2016年版)

本エントリは、2016年の一年間に、ML/twitter/勉強会といったコミュニティから上がった情報/要望の中で:

  • Mercurial 本体に取り込まれた修正の契機になったもの
  • 『今後の作業のネタ』(= バックログ)として認識されているもの

上記に該当するものを、情報提供への感謝の意味も込めて、列挙したものです。
『気になった点に関して、情報提供をする』だけでも、十分開発に貢献できる事の証拠とも言えます。
今後も、Mercurial に関して疑問/質問/要望等があれば、お気軽に情報をお寄せください > 利用者の皆様

情報をお寄せ頂く手段に関しては、"Mercurial で困った時に" をお読みください。

なお、以前のものは、以下から参照できます。

本体に取り込まれた修正(changed by 藤原)

以下に列挙するものは、コミュニティからの情報を元に私が提案した修正のうち、Mercurial 本体に取り込まれたものです。
なお、私の手による修正履歴一覧から、記憶を頼りに目視で抽出したものなので、『俺の情報を元にパッチ作成しておいて手柄を独り占めかよ!?』的なものに心当たりがある方は、お気軽に情報をお寄せください(笑)。

続きを読む

Python library for ZFS (pyzfs) のバグを修正する

本エントリは Solaris Advent Calendar 2016 の 22 日目です。

Python library for ZFS

libzfs の zfs_iter_*() 系 API 利用について、ソースツリーを網羅的に調べた際に、Python から ZFS を利用するためのライブラリが提供されているのに気付きました (ソースツリー上の格納先から、以下このライブラリを pyzfs と呼びます)。

OpenIndiana 環境であれば、/usr/lib/python2.6/vendor-packages 配下に zfs パッケージとしてインストールされており、システムデフォルトの Python 処理系から事前準備等無しで使用できる筈です。

しかし実際に使ってみると幾つか不具合があったので、これらを修正してみました。

修正版ソースは Bitbucket 上で公開しています。本ブログエントリに関するコードは pyzfs ディレクトリ配下にあります。

illumos 本家に正式に修正要求出さないとなぁ……

続きを読む