Mercurialを触ってみる

Mercurialを触ってみました。要件としては以下の通りです。

  • UTF-8のファイル名を扱う
  • EUC-JPのファイル名を扱う
  • mvしたファイルはmvとして扱う
  • renameしたファイルはrenameとして扱う

MacOSX上でLANG=ja_JP.UTF-8と設定し、ローカルリポジトリを作成してみます。
まず、~/.hgrcにユーザ名を設定しておきます。

[ui]
username = nawolets

次にテスト用のディレクトリに潜って各種コマンドを叩いてみます。

gaulm:test nawolets$ du -ah
 52M     ./むにゅう.zip
 52M     .
gaulm:test nawolets$ hg init
gaulm:test nawolets$ hg add .
むにゅう.zip を追加登録中
むにゅう.zip: 指定ファイルの管理には 162 MBを超えるメモリが必要です
(ファイルの登録を解除するには 'hg revert むにゅう.zip')
gaulm:test nawolets$ hg status
A むにゅう.zip
gaulm:test nawolets$ hg commit -m "むにゅう追加"
gaulm:test nawolets$ du -ah
4.0K     ./.hg/00changelog.i
4.0K     ./.hg/dirstate
4.0K     ./.hg/last-message.txt
4.0K     ./.hg/requires
4.0K     ./.hg/store/00changelog.i
4.0K     ./.hg/store/00manifest.i
 51M     ./.hg/store/data/~e3~82~80~e3~81~ab~e3~82~85~e3~81~86.zip.d
4.0K     ./.hg/store/data/~e3~82~80~e3~81~ab~e3~82~85~e3~81~86.zip.i
 51M     ./.hg/store/data
4.0K     ./.hg/store/fncache
4.0K     ./.hg/store/undo
 51M     ./.hg/store
4.0K     ./.hg/undo.branch
4.0K     ./.hg/undo.desc
4.0K     ./.hg/undo.dirstate
 51M     ./.hg
 52M     ./むにゅう.zip
102M     .

改名してみます。

gaulm:test nawolets$ hg rename むにゅう.zip うにゅう.zip
gaulm:test nawolets$ ls
うにゅう.zip
gaulm:test nawolets$ hg status
A うにゅう.zip
R むにゅう.zip
gaulm:test nawolets$ hg commit -m "改名:うにゅう"
gaulm:test nawolets$ du -ah
4.0K     ./.hg/00changelog.i
4.0K     ./.hg/branchheads.cache
4.0K     ./.hg/dirstate
4.0K     ./.hg/last-message.txt
4.0K     ./.hg/requires
4.0K     ./.hg/store/00changelog.i
4.0K     ./.hg/store/00manifest.i
 51M     ./.hg/store/data/~e3~81~86~e3~81~ab~e3~82~85~e3~81~86.zip.d
4.0K     ./.hg/store/data/~e3~81~86~e3~81~ab~e3~82~85~e3~81~86.zip.i
 51M     ./.hg/store/data/~e3~82~80~e3~81~ab~e3~82~85~e3~81~86.zip.d
4.0K     ./.hg/store/data/~e3~82~80~e3~81~ab~e3~82~85~e3~81~86.zip.i
101M     ./.hg/store/data
4.0K     ./.hg/store/fncache
4.0K     ./.hg/store/undo
101M     ./.hg/store
4.0K     ./.hg/undo.branch
4.0K     ./.hg/undo.desc
4.0K     ./.hg/undo.dirstate
101M     ./.hg
 52M     ./うにゅう.zip
153M     .

改名する前のファイルも残ってしまっています。期待する動作とちょとちがう...。
改名したという情報だけ持って、リポジトリのファイルは同じものになる、という動作になって欲しいのです。ううむ。