Mercurialを使ってみる

先日、いろんなVCSを比較してみたが[ 1,2 ]、その中でどうもMercurialというのが便利そうだということになったので使ってみた。

$ aptitude install mercurial #@debian
$ hg init somerepos
$ hg clone somerepos workspace
$ cd workspace
$ touch test.txt
$ echo "sho hey hey" >> test.txt
$ hg add test.txt
$ hg ci -m "message mustn't be blank."     #変更がworkspaceにコミットされる
$ hg push     #ここまでで、変更がsomereposに反映される
$ cd ../somerepos      #この状態では、somereposには変化がないようにみえる
$ hg up       #これで変更内容がsomereposでも見えるようになる

という具合に、コメントが空だったらダメとか、なんでコミットしてプッシュするんだとか、importの使い方がどうも他のVCSと違うようだとか、コマンド名が某変態芸人を彷彿とさせるだとか*1、わけのわからないことを差し引いても十分お釣りがくるくらいに分散型VCSは相当に便利なんだと思う。ただpushはちょっとやっぱり重いみたいだけど。あとは、TracのPluginとかSSHとかもいけるので、その辺りも便利だろう。SSHアクセスなんかは簡単で、

$ hg clone ssh://remoteserver//absolute/path/to/repos localreposname

とすればlocalreposnameというのができて、リポジトリになる。

参考→その1その2

*1:実際、私は当初このの点だけをもって食わず嫌いになりそうだったのだが、他に条件を満たすVCSもなかったので仕方なくこれを選んだ…