2013年3月18日月曜日

Fossil SCM

個人的なプロジェクトではソース管理ソフトにFossilを使っている。

使用感はこちらの方のブログ Scenery and Fish - fossil-scm によくまとめられていて、自分も同意見。

自分の環境だとWindowsのコマンドプロンプトからコミットメッセージを日本語で入力しても、文字化けせずに上手くいっているみたいだ。
ただやはり不安なので、エディタでUTF-8nで入れている。

しかし、UTF-8nで入れても、コマンドプロンプトでログを表示させると、文字が、ひらがな漢字にかかわらず、"・"になってしまったりすることがある。
ブラウザから見ればちゃんと表示されるので気にはしていないが。

そのせいか、GitにエクスポートするときにWindowsだと上手くいかなかった。
Linuxに移してからエクスポートしてみたら上手くいった。
コピペするだけで簡単にリポジトリをコピーできる仕組みで良かった。


ソースコードの文字コードは…
  • Shift-JISだと、日本語のコメントが文字化けする。
  • UTF-16(UCS-2 LE)だと、バイナリとして扱われてしまい、Fossilからソースが見えない。他のリビジョンとの差分が表示されない。
  • UTF-8nなら大丈夫。





追記:

Fossil1.25だとUTF-8nでコミットメッセージを入力すると、文字化けするようだ。
Fossil1.25のChange logを見てみると以下の文を見つけた。
Correctly deal with BOMs in check-in comments.
チェックインコメントでBOMを正しく扱えるようになった、ということだが、これのせいでBOM無しUTF-8がおかしくなったのだろうか…

ソースの文字コードは今まで通りで大丈夫なようなので、そのうち修正されることを願って、今はコミットコメントはBOM有りUTF-8で書こう





 さらに追記:

VC++はソースコードの文字コードとしてBOM無しのUTF-8nには対応していない。(http://msdn.microsoft.com/ja-jp/library/xwy0e8f2.aspx
なので、VC++使いはFossilでたまにBOMがゴミとして表示されるのは我慢してBOM有りUTF-8で保存するべし。

0 件のコメント: