Mac自体、日本語の扱いがあやしいのであれなのですが、svnも結構あやしかったです。
で、分散型のVCSはどうなのか検証。結果としては僅差でBazaarに一票という状態。
実験方法
- 新たにリポジトリーを作成
- 「が」というディレクトリーを「Finder」で作成。
- touchコマンドで、「ぎゃぎぎゅ.txt」を作成。
- 「が」ディレクトリーをaddしてcommitするかどうか、stしてどうなるか確認
Mercurial
最後から4番目のコマンド「hg st」に注目。変なことになってるのが確認できます。
[yasui@negro: ~/tmp/hg][2:13] $ hg init rep [yasui@negro: ~/tmp/hg][2:13] $ ls ./ ../ rep/ [yasui@negro: ~/tmp/hg][2:13] $ cd rep [yasui@negro: ~/tmp/hg/rep][2:13] $ ls ./ ../ .hg/ [yasui@negro: ~/tmp/hg/rep][2:13] $ open . [yasui@negro: ~/tmp/hg/rep][2:13] $ ls ./ ../ .hg/ が/ [yasui@negro: ~/tmp/hg/rep][2:13] $ mkdir が mkdir: が: File exists [yasui@negro: ~/tmp/hg/rep][2:13] $ ls ./ ../ .hg/ が/ [yasui@negro: ~/tmp/hg/rep][2:13] $ hg add が [yasui@negro: ~/tmp/hg/rep][2:13] $ ls ./ ../ .hg/ が/ [yasui@negro: ~/tmp/hg/rep][2:13] $ hg commit -m '' No username found, using 'yasui@localhost' instead nothing changed [yasui@negro: ~/tmp/hg/rep][2:13] $ hg commit -m 'add' No username found, using 'yasui@localhost' instead nothing changed [yasui@negro: ~/tmp/hg/rep][2:13] $ hg st [yasui@negro: ~/tmp/hg/rep][2:14] $ ls ./ ../ .hg/ が/ [yasui@negro: ~/tmp/hg/rep][2:14] $ cd が [yasui@negro: ~/tmp/hg/rep/が][2:14] $ touch ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep/が][2:14] $ ls ./ ../ ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep/が][2:14] $ cd .. [yasui@negro: ~/tmp/hg/rep][2:14] $ ls ./ ../ .hg/ が/ [yasui@negro: ~/tmp/hg/rep][2:14] $ hg st ? が/ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep][2:14] $ hg add が/ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep][2:14] $ hg st A が/ぎゃぎぎゅ.txt ? が/ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep][2:14] $ hg commit -m 'test' No username found, using 'yasui@localhost' instead [yasui@negro: ~/tmp/hg/rep][2:16] $ hg st ? が/ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/hg/rep][2:16] $ hg log changeset: 0:d5ddeaaa3fdd tag: tip user: yasui@localhost date: Sun Feb 22 02:16:08 2009 +0900 summary: test yasui has logged on ttys003 from local. [yasui@negro: ~/tmp/hg/rep][2:23] $
Bazaar
ぼけて、「mkdir rep」してしまいその下にリポジトリを作成してますが、気にせず。結果通りコミット出来ています。中頃の「bzr st」の結果に気になる部分がありますが、とりあえず結果オーライかと。
[yasui@negro: ~/tmp/bzr/rep][2:15] $ bzr init rep Standalone tree (format: pack-0.92) Location: branch root: rep [yasui@negro: ~/tmp/bzr/rep][2:15] $ cd rep [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ ls ./ ../ .bzr/ [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ open . [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ ls ./ ../ .bzr/ が/ [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ cd が [yasui@negro: ~/tmp/bzr/rep/rep/が][2:15] $ touch ぎゃぎぎゅ.txt [yasui@negro: ~/tmp/bzr/rep/rep/が][2:15] $ cd .. [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ ls ./ ../ .bzr/ が/ [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr add が added "が" added "が/ぎゃぎぎゅ.txt" [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr st unknown: が/ [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr add が added "が/ぎゃぎぎゅ.txt" bzr: ERROR: が/ぎゃぎぎゅ.txt is already versioned [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr st unknown: が/ [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr commit -m '' Committing to: /Volumes/home/Users/yasui/tmp/bzr/rep/rep/ added が added が/ぎゃぎぎゅ.txt aborting commit write group: BzrCommandError(empty commit message specified) bzr: ERROR: empty commit message specified [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr commit -m 'test' Committing to: /Volumes/home/Users/yasui/tmp/bzr/rep/rep/ added が added が/ぎゃぎぎゅ.txt Committed revision 1. [yasui@negro: ~/tmp/bzr/rep/rep][2:15] $ bzr log ------------------------------------------------------------ revno: 1 committer: at_yasu <a.yasui@gmail.com> branch nick: rep timestamp: Sun 2009-02-22 02:15:57 +0900 message: test [yasui@negro: ~/tmp/bzr/rep/rep][2:24] $