at_yasu's blog

ロード的なことを

[hg][bazaar][メモ書き] 分散型SCM(VCS) Mercurial と Bazaar の日本語の扱い

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] $