今日読んだ本 - 『Subversion実践入門』

2008/09/18

バージョン管理システムである Subversion も随分普及したということで,ちと腰を据えて専門の本を読むことにしました。Subversion は,ローカル環境の他,こっそり公開している公開リポジトリ(※このサイトではありません)で使っているんですけど,これまでは CVS と同じ感覚で使っていたのでした。

Subversion の本は少なくて,本書とリファレンス本の他には『入門Subversion』くらいしかありません。どっちがいいか迷うところなんですけれど,CVS/RCS や VSS といったバージョン管理システムを使ったことがある向きや,リポジトリやプロジェクトの管理者には,『実践入門』の方がおすすめ。『入門Subversion』は,インストール方法とクライアントの使い方(特に TortoiseSVN)しか説明していないので,リポジトリの管理者向けというよりは,作ってもらったリポジトリを利用する側(チームメンバ)向けなんだと思います。

バージョン管理システムは,総じて機能が豊富な割に使い方があいまいなもんで,なかなか取っ付きにくかったりします。某リーナスさんのように「tar ボールとパッチのほうがはるかに優れ」てるって言う人もいるし,パッチどころか工場制手工業よろしく,ひとりの人間が職人技のごとく手作業でマージしているプロジェクトも少なくありません。これは,どれがいいとか悪いとかといった問題というよりは,そのチームのお作法的なものなんだと思います。マージ職人がいるならその人に任せた方が効率がいいってこともありそうですしね。ログはどう取るのか微妙に疑問ですけど。

ともあれ,一般的に,バグの修正ログやマージを自動的にやってくれるバージョン管理システムは,複数人の開発ではとても便利です。プロジェクトやソース管理の属人性(ある人がいないとプロジェクトが回らない)を軽減することができるので,引継ぎも割とスムーズに行える印象があります。個人のプロジェクトの場合も,バックアップ以上に,ブランチを分けて別々に開発することができるところは便利です。

じゃあ,Subversion の何が躓きの石なのかというと,冒頭にも書いたとおり,運用方法があいまいなところだと思うわけです。Subversion のようなバージョン管理システムは,ツールだけ使えば完璧な SCM(ソースコード管理)ができるんだぜってなもんじゃなくて,運用次第で簡単に混乱してしまいます。つまり,ツールの使い方と運用の仕方をセットで理解/策定することで,はじめて効率的な SCM が期待できると思うんですね。

この点,『Subversion実践入門』は,どちらかというと,運用方法に重点を置いた本なんだと思います。バージョン管理がどんなものかってのは,冒頭にちょびっと書いてあって,基本的な使い方の後は,ブランチの切り方やプロジェクトの構成方法といった,まさに「実践」における使い方が紹介されます。コマンドの説明にしても,ケーススタディっぽいシチュエーションが先に提示されるので,どんな場合に,どんなコマンドを使って(あるいは組み合わせて)解決するのかが分かりやすく説明されています。

邦訳版は,監訳であるでびあんぐるの丁寧な訳注が,理解を補ってくれています(やや訳注の範疇を越えている気もするけれど)。"initial import r1" を作ってから何をしていいやら途方に暮れている方にも,ぜひおすすめ。

Site Navigation
SNS Accounts (@aian)

普段はここら辺に住んでいます.