Mercurial入門!
この記事は「Mercurial Advent Calendar 2011」の一環として書いています。前日の16日目は、@troterさんの「mercurial-backlog拡張を作った中で知ったこと」でした。17日目は私、@worarsが担当させて頂きます。
さて、何を隠そうAdvent Calenderなるイベントは初めて参加する訳で、さらに言えばMercurialを触り始めてまだ数週間。お誘いを受けたので参加してみたものの何を書いて良いやら・・・。色々とツッコミどころが出てくるとは思いますが、どうかお手柔らかに。
何はともあれインストール
今使っているPCはWindows(Vista)なので、「TortoiseHg」というGUI付きのMercurialをインストールします。まずは、ココのサイトから日本語版がダウンロード出来るのでダウンロードします。現時点でのバージョンは、TortoiseHg 2.2.1 (with Mercurial 2.0.1)です。あとはインストーラでインストールするだけです。ここで注意しないといけないのは、リポジトリ内に日本語を含むファイルを含める場合、そのまま「hg add 日本語のファイル.xls」などとすると失敗してしまう事です。これを回避するには、TortoiseHgのメニューから「ユーザ設定」を選び「エクステンション」の中から「win32mbcs」にチェックを入れます。これで日本語のファイルも問題なく扱えるようになります。複数OS間で連携する場合は、もう少し考慮しないといけない点があると思いますが、その辺りは15日目の「Mercurial の文字コード設定」がとても参考になると思います。
さて、これで実行環境が整いました。ヤッター、これで明日からMercurialが使えるぞ!・・・と言いたい所ですが、そういう訳にも行きません。そもそも何でMercurialを使うのでしょうか?ここまで書いておいて今更ですが。
Subversionと比較してみる
現在の開発現場では、cvs,vss,Subversionなどの中央集権型のバージョン管理ソフトが多く導入されています。この状況下でMercurial等の分散型バージョン管理ソフトをより普及させる為には、それなりの動機づけが必要かと思います。ですので、まずはSubversionと比較してそのメリット、デメリットを見てみたいと思います。
メリット
などといった所でしょうか。もちろん便利なコマンドが増えている等の細かいメリットも沢山あります。*2
デメリット
- 仕組みがちょっと複雑=覚えるコマンドが多い
- 分散型なので一元管理されているか不安になる*3
簡単に思いつく範囲ですが、上記の様なメリット、デメリットがあります。現在、Subversion等で運用している企業がMercurial等の分散型バージョン管理ソフトへ移行する為には、上記のメリットがデメリット+移行の手間を上回る必要があります。この為、今の私の環境では、残念ながら導入するのは難しそうです。もしチャンスがあるとすればレスポンスが悪化して環境を強化せざるを得ない時でしょうか。この時は、スケールアウトが簡単に出来る分散型のバージョン管理ソフトが俄然有利になりますね^^*4
なので、私の場合は、まだまだSubversionを使う日々が続きそうです。もちろんプライベートはMercurialに切り替えるつもりですが。現場で使えてる方々が羨ましい。
という事で今日はこの辺りで。次回、18日目の@tksnさんの「低コストで少人数プロジェクトに最適なバージョン管理システムを探そう!」に期待を寄せつつ眠りに就きましょう。おやすみなさい。
参考にしたサイト
最後にMercurialを始めるに当たって参考にさせて頂いたサイトを紹介致します。
- 作者: 藤原克則
- 出版社/メーカー: 秀和システム
- 発売日: 2009/01/20
- メディア: 単行本
- 購入: 10人 クリック: 220回
- この商品を含むブログ (63件) を見る