Mercurialがよい

リーナスが ボロクソに言っていた ので思いだして再度触ってみた分散SCM(dscm)の Mercurial がよい。詳しく知りたいひとは Mercurial の利用JapaneseUnderstandingMercurial がわかりやすいでしょう。

  • RCSのように手軽につかいたい
  • ローカルコミットしたい
  • SVNのマージが使いづらいのでなんとかしたい [1]
  • プライベートブランチを気軽につくりたい
  • SCM自体を拡張したい

なんて向きには特にお薦め。SVNでもsvkを使ってdscmを実現できるけど、集中型のSCMはリポジトリとワーキングコピーの関係が クラスとインスタンス のように上位関係がある。でもdscmは、どちらもインスタンスで上位とかの概念がない。個人的にはこっちの方が好み。ただマスターと決めているリポジトリにpushするのを忘れちゃいがちなのは運用でカバーしたいところ。

他のSCMからの乗り換えも敷居が低いようだ。 tailorhgsvn で家のDebian環境では、SubversionリポジトリをMercurialに移行/Mercurialと併用した。 [2] AkiyahさんはUSBメモリにMercurialのリポジトリを入れて使うなんてことを試している。特にSVNやCVSが強制されない人はどんどん試してみたらいいと思う。他にもdscmには、gitとかmonotoneとかあるので見てみてもいいかもしれない。

最近特に話題になっているようなので、今年中にはPragmaticProgrammerシリーズでMercurialをネタにした達人本が出るんじゃないかと予想する。あと、RubyユーザーがMercurialモドキを造りそうな気がする(これは角度低いかな)。

[1]: ただしマージの問題は複数人で使ったことないからまだなんとも言えません
[2]: hgsvnもtailorもWindows環境ではうまくいってないです