Hatena::ブログ(Diary)

彷徨えるフジワラ このページをアンテナに追加 RSSフィード

2030-12-31

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

※ 2015-01-19 更新

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

現状でそこそこ妥当な 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 版で解消済み)

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

続きを読む

2029-12-07

執筆書籍一覧

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

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

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

入門TortoiseHg+Mercurial

入門TortoiseHg+Mercurial

入門TortoiseHg+Mercurial

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

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

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

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

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

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

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

入門Mercurial

入門Mercurial Linux/Windows対応

入門Mercurial Linux/Windows対応

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

2016-03-25

『俺のコードのどこが悪い?』へのご意見・ご要望・誤記情報

拙著『俺のコードのどこが悪い?』に対するご意見・ご要望・誤記情報等ありましたら、本エントリへのコメントとして書き込んでいただければ、可能な範囲(私個人のサポートページへの掲載等)で対応させて頂きます。

twitter 経由なら @flyingfoozy 宛てにお願いします(1/day ぐらいしか確認してませんが ....)。

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

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

なお、副題の「コードレビューを攻略する40のルール」とか「失敗に学ぶ成功の法則とは?」といった大仰な物言いは、販売戦略上から編集さんの意見で付いたものなので、「(この内容で)それってどうよ?」みたいな意見に関しては、私に寄せられても困ります(笑)。私自身も未だにちょっと気恥ずかしいです > 煽り文

書籍中にも書きましたが、本書で取り上げた40項目は、「これさえやれば」的な項目ではなく、「少なくともこれぐらいは」的な項目です。

各自がより有用な確認項目作りをする際の、最初の叩き台として本書が微力なりとも読者のお役に立てば幸いです。

2015-12-31

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

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

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

上記に該当するものを、情報提供への感謝の意味も込めて、列挙したものです。

『気になった点に関して、情報提供をする』だけでも、十分開発に貢献できる事の証拠とも言えます。

今後も、Mercurial に関して疑問/質問/要望等があれば、お気軽に情報をお寄せください > 利用者の皆様

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

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

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

以下に列挙するものは、コミュニティからの情報を元に私が提案した修正のうち、Mercurial 本体に取り込まれたものです。

なお、私の手による修正履歴一覧から、記憶を頼りに目視で抽出したものなので、『俺の情報を元にパッチ作成しておいて手柄を独り占めかよ!?』的なものに心当たりがある方は、お気軽に情報をお寄せください(笑)。

続きを読む

2015-12-14

ZenFone 2 (ZE551ML) を購入

私の普段の外出時の通信環境は:

  • 音声通話利用の頻度は低い
  • キャリアメールのアドレスは維持したい
  • データ通信の高速性はそれほど必要ない
  • テザリングでのデータ通信量は、月々 1GB 前後程度
  • テザリング使用時にモバイル端末のバッテリ残量を気にしたくない

という条件での経済性を考えて、「通話用ガラケー (docomo)」と「テザリング用タブレット (docomo MVNO SIM)」を併用していました。

「音声通話利用の頻度が低い」のに、音声通話付きの MVNO のプランに移行しないのは、「キャリアメールのアドレス」と「家族間通話無料」が主要因です。田舎の知人に PC メール拒否設定な人が多いので、前者の条件を外せないんですよねぇ……

テザリング用途で使用していた Nexus7 2013 に特に不満がないことや、テザリング使用時のバッテリ持続時間への不安もあって、スマートフォンの導入はあまり考えていませんでした。

先日、Mercurial 3.6 Sprint at London への参加で渡英した際に、現地での通信環境をアレコレした結果として:

  • データ通信は日常的に必要 ⇒ 現地 SIM を調達して使用
  • 音声通話は緊急時のみ必要 ⇒ 普段使いの docomo の携帯を国際ローミングで使用

あたりが妥当かなぁ、とか:

そもそも、多くても年に一回行くか行かないかの海外渡航での、数千円の支出削減のために、数万円も払ってスマートフォンを新規に購入するというのは、物凄く本末転倒な気がしますし(笑)

などと書いたのも、その辺の事情に由来します。

しかし、渡英の際に色々調べた副作用で物欲が刺激されたことで、結局 ASUS の ZenFone 2 (ZE551ML) を購入してしまいました(笑)

以下、購入に至る経緯で調べた諸々に関して、備忘録代わりにまとめておきます。

なお、このエントリ自体は 2016-06-15 時点で書いたものなので、時系列的に色々前後した内容になってます(笑)

続きを読む

2015-12-08

MVNO 回線と docomo 回線の利用コスト比較

ネット界隈では、「iPhone 等の高額機種を購入するのであれば、MVNO 回線 + SIM フリー版よりも、三大キャリアと契約する方が得」、という言及を多数見かけるので、本当にお得なのか、どの程度お得なのかを調べてみました。

年が明けたら、総務省の指導に基いて、料金体系が大きく変わると思われますが、とりあえず「2015 年末時点ではこうだった」という備忘録代わりに公開しておきます。

前提条件

これ以降で記載されている金額は、全て 2015-12-08 時点での税抜き価格です。また、事務手数料等の類は、簡略化のため除外しています。

購入機種は iPhone6s 64GB を想定します。

比較対象は以下の2つのプランです。

--- IIJmio docomo
通話 従量制 (10円/30秒)(*) 無制限 (カケホーダイ)
データ通信 3GB 2GB (データSパック)
その他 想定通話料: 400円(= 20分相当(*)) SPモード: 300円
月額使用料 2,000円 (1,600 + 400) 6,500円

(*) 「みおフォン」利用を想定

なお、月々の通話がコンスタントに 245 分(= 「みおフォン」併用で 4,900 円相当)を超える場合は、通話無制限のプランで月額使用料を安価にできる docomo 利用の方が明らかにお得ですから、このエントリをこれ以上読み進める必要はありません(笑)

また、大量の契約 ⇒ 売却を繰り返すことで、「実質的に安価に運用」するケースも無視します。

続きを読む

2015-11-05

渡英時のモバイル通信環境に関する備忘録

先日、Mercurial 3.6 Sprint で渡英した際に、現地でのモバイル通信環境を確保するために、事前調査した内容と、実際に現地で確保した通信環境を使用してみての感想を、備忘録代わりに公開しておきます。

前提条件

ロンドンのモバイル通信事情は、ネットの情報曰く「ホテルや観光地、各種店舗等で、フリーの WiFi アクセスポイントが利用可能」とのことなのですが、その一方で:

  • booking.com でのホテル評を見ると、「WiFi が繋がらない」旨のコメントを多数見かける
  • 公衆 WiFi の可用性(施設密度/回線速度等)が、イマイチ不明
  • 「ロビー等の共有スペースでのみ WiFi アクセス可能」なホテルもある

特に、今回の様な「不案内な外国での一人行動アリ」な状況の場合、現在地の確認等の必要性からも、「常時繋がる」環境を確保しておきたいところです。

国際ローミングは値段が高く、請求金額にビクビクしながら使うことになりますから、個人的には端から候補外です。ここは、現地で使えるデータ通信用 SIM を入手するのが良さそうです。

なお、今回の渡英では、手持ちの Nexus7 2013 を主軸にしたモバイル通信環境を構築しますが、Nexus7 は音声通話に対応していません。

IP 電話を使う手もありますが、ただでさえ電波事情の良くわからない土地で、「遅延が大きく会話しづらい」という評価の IP 電話を頼みの綱にするのは、少々心元ありません。特に今回のような一人旅の場合、「音声通話が必要になる状況」=「事故や急病等の緊急事態」ですから、確実なインフラを確保しておきたいところです。

幸いイギリスの通信事業者は、音声通話機能に絞り込んだ電話 + プリペイドプランも安価でラインナップしているので、今回は Nexus7 向けのデータ通信用 SIM に加えて、音声通話用電話 (+ SIM カード) も調達することにしました。

ちなみに、今回の渡英では、一週間の滞在期間のうち:

  • 前半はスプリント会場に缶詰なので、外出時やホテルでのちょっとした通信ができれば良い
  • 後半三日間は専ら観光なので、モバイルでのネット利用はこの期間に集中する

という感じで、実質的には三日+アルファ的な利用になるので、データ通信量は 1GB 程度もあれば大丈夫だと思われます。

続きを読む

2015-08-01

Mercurial の Automatic Pooled Storage for Clones

本エントリでは、Mercurial 3.5 から導入された "Automatic Pooled Storage for Clone" について説明します。

なお、この機能の開発を主導した、"Mozilla の中の人" こと Gregory Szorc 氏自身も、"My Contributions to Mercurial 3.5" と題したブログエントリで、この機能について言及しています。

share 機能の概要

同一のプロジェクトにおいて、複数の作業を平行して行う場合に、hg clone でリポジトリを複製し、複製先で作業することもあるでしょう。

$ hg clone src cloned1
$ hg clone src cloned2
$ hg clone src cloned3

f:id:flying-foozy:20150801222555j:image

しかし、hg clone での複製による運用は、履歴情報(図中の色つき矩形部分)が各リポジトリに散在してしまうことから、場合によっては以下の様な点が気になるかもしれません:

  • 各リポジトリで保持される履歴情報には共通部分も多いので、ディスク領域の無駄がある
  • 作業成果(= 新規リビジョン)も各リポジトリに散在するため、反映忘れの可能性がある

続きを読む

2015-05-10

Why hg.mozilla.org is Slow

This entry is a Japanese translation of Gregory Szorc's "Why hg.mozilla.org is Slow". Thank you for permitting to translate the blog entry, Gregory !!

Gregory Szorc 氏は、Mozilla プロジェクトにおける大規模リポジトリでの運用経験を元に、性能改善等に関する多くの修正で、Mercurial の開発に貢献しています。

このエントリでは、Szorc 氏のブログにおける "Why hg.mozilla.org is Slow" を翻訳したものを、Szorc 氏の許可の元に公開します。

少々冗長ではありますが、翻訳との対応がわかりやすいように、段落毎に原文も併記しています。

なお、文中で度々登場する "pushlog" とは、Mozilla プロジェクトのインフラで使用されている Mercurial のエクステンションのことです。Mercurial 本体に取り込まれた修正の中でも言及されていますが、hg push 操作によるリポジトリへの履歴反映の内容を、SQLite でも記録する仕組みとのこと。

Mozilla's pushlog extension (an extension that opens a SQLite database and tries to tie its transaction semantics to Mercurial's transaction)

続きを読む

2015-05-04

江戸文字展〜ヴァチカン教皇庁図書館展II

「文字」つながりで、深川江戸資料館で開催されている「江戸文字展」と、印刷博物館で開催されている「ヴァチカン教皇庁図書館展II」を見学してきました。

深川江戸資料館

今回が初めての深川江戸資料館見学だったのですが、常設展示を見てびっくり!建物の地下には、江戸時代の街並みが再現されているではないですか!

f:id:flying-foozy:20150504101229j:image

f:id:flying-foozy:20150504101318j:image

続きを読む