スポンサーリンク

Unicode対応したGit For Windows、周辺ツールの設定について

補足:2014/02/12 MsysGitのwikiのURLが変更されているので、内容含めて見直しました。

Unicode対応したGit For Windowsで必要な設定、周辺ツールについて以下にまとめられています。

Git for Windows Unicode Support
msysGit has been superseded by Git for Windows 2.x - msysgit/msysgit

英語ですし、図があった方が分かりやすい部分もあるので、超訳しつつ再度まとめてみます。

Git For Windowsでの問題点

Unicode対応したのは、Git For Windows 1.7.10以降です。

現状以下の問題点が目立っています。

  • MSYSでの問題
    • bashで多言語入力ができない。日本人であれば漢字が入力できない。(元のwikiでも修正されていないが、1.8.4以降は入力可能 2014/02/12)
    • lsでASCIIでない文字が文字化けする。(ただしこれは修正可能)
  • TclがUNICODEのBMPにしか対応しない。具体的にはGit GUIなどでJIS 2004文字のような非BMP文字(UTF-16でサロゲートペアになる文字)で表示がおかしくなる可能性がある。

TortoiseGitのバージョン

Unicode対応しているのは1.7.9以降です。(http://code.google.com/p/tortoisegit/downloads/)

Git Extensionsの設定変更

GitExtensionsのSettingで以下の赤枠の部分、エンコードの設定を明示的にUTF-8に設定します。

image

Git Source Control Provider

Unicode対応しているのは0.9.4以降です。(http://gitscc.codeplex.com/releases/view/46589)

エディター

Commitコメントなどの入力に標準のVim以外を使用したい場合には、Gitが対応する改行コードはLFのみ、テキストのエンコードはBOM無しのUTF-8であるので、その両方に対応していないメモ帳(notepad.exe)は不適切。

Windowsの設定

リンク先側ではConsolasにしろと書かれているが、日本語版(というかcp932)のコンソールではどうしようもないので、MSゴシックを選択しておく。レジストリで豪快に変更する方法はあるようなので、変更されたい各位は検索されたし。Console2のようなサードパーティのコンソールツールを使用するのも一つの方法です。

ファイル名のエスケープ表示の除外

Gitは標準で非ASCIIな文字がコンソール出力に使われていると\xxxxとエスケープ表示します。これをしないように、これをOFFする必要があります。

 git config [--global] core.quotepath off 

コミットメッセージなどでの文字コード変換の停止

1.7.10以前からGit For Windowsを使用している場合、コミットメッセージやログ表示のについてエンコードの指定をローカルのロケールにに合わせるよう設定している場合があると思いますが、Unicode対応後はこれをオフにしておく必要があります。

git config [--global] --unset i18n.logoutputencoding
git config [--global] --unset i18n.commitencoding

SubVersionリポジトリへの保存時のファイル名文字コード変換の停止

SubVersionはもともとUTF-8のファイル名しかサポートしていないので、Unicode対応版では文字コード変換は必要ない。

git config [--global] --unset svn.pathnameencoding

とりあえずクライアントサイドで行う内容は以上です。
レポジトリのマイグレーションにつきましては、申し訳ありませんが最初のリンク先をご確認ください。

コメント

タイトルとURLをコピーしました