CVS-バージョン管理システム- |
発行(株)オーム社(http://www.ohmsha.co.jp/)
著者 Karl Fogel 監訳 でびあんぐる(石川睦、鵜飼文敏、八田修三、武藤健志) 訳者 竹内里桂 ISBN 4-274-06372-0 3800円(本体)
プログラム開発では、どんどん変化し続けるソースプログラムやドキュメント類のバージョンを管理することは非常に重要な作業です。毎週、プロジェクト全体のバックアップをテープなどに定期的に取ることで対応していたところが昔は多かったのですが、UNIXの世界では、ずいぶん前からソースプログラムなどテキストとして扱えるもののバージョン管理ソフトは充実していました。
私は、最初はSCCS(Source Code Control System)を、最近はずっとGNUのRCS(Revision Control System)を使っていろいろなドキュメント類を管理していました。私自身のホームページも、RCSでずっと管理しています。
最近は、ネットワークにも対応し、離れた場所にいたまま共同開発する必要がインターネットの普及とともに出てきました。オープンソースでの開発はその典型です。誰かが完全にファイルを握るのではなく、同じファイルを複数人が同時に変更することまでも対応しようとしているCVSはたいへん魅力的です。
本書は、CVSの使い方や管理の仕方にとどまらず、CVSシステムがどのようなからくりでバージョン管理を行なっているかにまで踏み込んだ解説をしています。プロジェクト管理の方法、オープンソースのあり方までも言及しているので、読者としては、すでにプログラム開発の経験者であり、diff程度は使ったことがあることが暗に仮定されていると思われます。CVSがもっと広まるためには、より簡単な入門書があったほうがよいでしょう。
内容はかなり突っ込んで書かれており、経験あるプログラマがCVSを使い始めようという場合は、とてもよい本になるでしょう。というか、CVSに関する日本語の本はほかにないようで、選択の余地もなさそうです。
本書は、文字ベースの実行例などは非常に多いのですが、概念などを説明するための図が極度に少なく、文字だけで説明し尽くそうというところがあり、バージョン管理システムが初めての人には分かりづらいのではと思います。実行例の中にときどき枠囲みの説明があるのですが、コメント部分の訳ばかりであり、この程度の囲みなら入れない方が邪魔にならなくて、誌面もすっきりします。それよりも注目すべき個所を強調することを考えてほしかったです。
レイアウト的には、意味的な大きな切れ目である節や項などよりも、NOTEとか、TIP、Columnが目立っています。本文の中に箇条書きがときどき入っていますが、各項目の先頭マークが“・”で十分な個所にも全部“■”が使われていて、強調すべき部分とそうでない部分のバランスがよくないです。とくに、頻繁に利用したいと思うリファレンスの章では、コマンドの区切りよりも、NOTEやオプションの始まりのほうが目立つのも困ったものです。
本書を読んでいてふと気になったのは、CVSの仕組みを説明するところです。複数のユーザーが同時に作業をしたときにどのような影響が出るかを説明しているのですが、こういうことを本というシーケンシャルな形態で説明するのはたいへん分かりづらいものです。本も、右ページと左ページを、それぞれ別のユーザーの説明にあて、その間の影響を、見開きを使って説明すると便利かなと思ったのですが、これは編集者泣かせのレイアウトになってしまいそうです。