「入門Mercurial Linux/Windows対応」発売中


執筆情報

「Mercurial: The Definitive Guide」日本語版

オンライン上で公開されている Bryan O'Sullivan 氏の「Mercurial: The Definitive Guide」(通称「BOS本」ないし「hgbook」) の、 2年ほど前の時点の版を元に、私が翻訳した日本語版を公開しています。

HTML 版を直接ブラウザ経由で参照することも可能です。

1.0 版以前の Mercurial について書かれているものをベースとした翻訳ですので、 最新の Mercurial 事情とは異なる内容も含まれていますが、 Mercurial そのものの基本コンセプトは大きく変化していませんから、 十分有用な内容であると思います。

特に Mercurial の詳細 (例えば、リポジトリの内部構造など)に興味のある方にとっては、 有益な情報が含まれていると思います。

O'Reilly 社から出版されている最新版(Amazon からも購入可能です)を目指し、 翻訳版の更新も随時行う予定です。

なお、日本語翻訳版ならびにその公開に関しては、 O'Sullivan 氏および O'Reilly 社とは一切関係がありませんので、 お問い合わせ等は藤原宛にお願いします。

入門Mercurial Linux/Windows対応

私の執筆した Mercurial の入門書が、 「入門Mercurial Linux/Windows対応」(ISBN:978-4-7980-2174-4)と題して、 秀和システムから出版されています (Amazon からも購入可能です) 。

私自身にとっては初めての書籍執筆となりましたので、 至らない点も多々あるとは思いますが、 構成管理初心者はもちろん、 CVS/Subversion からの乗り換えを検討されている方、 Mercurial の使いこなしを目指す方など、 多くの方のお役に立てるようにすべく、 (執筆者本人としては)採算度外視で内容の充実に努めましたので、 Mercurial に少しでも興味をお持ちであれば是非ご一読ください。

バージョン対応情報

1.1 版以前をご利用の方へ

本書では、 Mercurial 1.1 版で導入された "hg resolve" を使用したマージに対応した解説を行なっておりますので、 それ以前の版をご利用の方はご注意ください (機能性の面からも、 個人的には 1.1 版へのアップグレードを強くお勧めします)。

1.1.1 版以降をご利用の方へ

出版スケジュールの関係から、 Mercurial 1.1.1 版で導入された "hg resolve" の "-a" オプションは、 「付録 F コマンドリファレンス」において掲載されておりませんのでご注意ください。

正誤情報

内容の不備等にお気付きの際には、 メール等でお知らせ頂ければ幸いです (はてなのアカウントをお持ちの方は、 こちらのエントリにコメントして頂いても構いません)。

IIIページ

Matt Mackall 氏からのメッセージの4段落目:

56ページ

図版付きの各節概要説明における 5.3 節の箇所:

60ページ

コラム「tip≠最新?」の3段落目:

62ページ

実行例 5.7 の1行目:

164ページ

脚注 5 で『CVSは通常のdiff形式』と書いていますが、 cvs diff -u 指定により unified diff 形式での出力が可能です。

180, 181 ページ

実行例 14.8, 14.10 それぞれの3行目:

244ページ

hg archive コマンドの --prefix オプションに対する「詳細」記述欄:

Matt Mackall 氏からのメッセージ(原文)

紙媒体での Mercurial 専門解説書としては世界初となる書籍が日本で出版される、 ということで、 Mercurial の作者である Matt Mackall 氏に寄せて頂いたメッセージの原文を、 氏の許諾を得て本ページに掲載します (書籍には翻訳版を掲載)。

If someone told me five years ago that I would be the lead developer of a popular version control system, I would have laughed. Version control was about the most boring, tedious thing imaginable.

Version control systems were systems that got in the way of getting work done. They were slow, they were were complex, and they were often down for maintenance. Doing anything beyond a basic check-in or check-out often required seeking out one of the wizards in charge of managing the repository. And doing a branch merge meant everyone had to stop and wait, sometimes for days.

In short, traditional version control systems were no fun. Thus, users quickly developed bad habits. Because checking in was slow, users would put off doing it as long as possible. And the longer they delayed, the slower (and harder) it would become. The same was true of branch merging: it often became so slow and complex that it was effectively impossible. And when the server went down or the wizards were on vacation, users would work around the system.

One morning in early April 2005, I was riding the train to work and I had a realization: version control could be fast. I pulled out my laptop and did some experiments confirming my idea. Within a few days, I had a simple system that could handle large projects with unprecedented speed. Within a couple weeks, it could communicate with other clients in a distributed fashion. No need to wait for hours to do things, no need for unreliable servers, and no need for wizards. It was time to share it with the world.

And the world shared with me. Hundreds of developers have contributed to Mercurial and made it one of the most powerful development tools available, while still being easy to use. It's also been adopted as the system of choice for some of the largest projects and companies around. And three years later, I'm still enjoying working on a project I would have never believed would be fun.

But the most surprising thing is that just about every day, a user writes to tell me how much they enjoy using Mercurial. I hope that after reading this book, you will enjoy using Mercurial as they have.

Matt Mackall
Minneapolis, October 2008

Merruail ではじめる分散構成管理

技術評論社 gihyo.jp において、 「Merruail ではじめる分散構成管理」 と題した全 6 回の入門記事を掲載中です。

ページ等の都合から「入門Mercurial Linux/Windows対応」では割愛した 大規模開発時の拠点間連携に関する説明もありますので、 興味のある方は是非ご覧ください。