aspec7's garage

エンジニア生活の中で学んだことの備忘録

Windowsでsublime-text-2-gitプラグインを動かす

WindowsSublime Text 2のセットアップをする際に、文字コード絡みで色々手間取る事があったのでメモがてら書き記しておきます。
WindowsXPWindows VistaWindows7Windows8で試して見ましたがどれも同じなようです。
ちなみにいずれもDisplay Languageが日本語の場合です。

プラグインの「sublime-text-2-git」は日本語版のWindowsの場合そのまま使う事が出来ません。
コマンドプロンプトで日本語出力されるような場合は全てデコードエラーになってしまう為のようです。
ちなみにコンソールには以下のようなエラーが出ます。

Exception in thread Thread-7:
Traceback (most recent call last):
File ".\threading.py", line 532, in __bootstrap_inner
File ".\git.py", line 128, in run
File ".\git.py", line 85, in _make_text_safeish
File ".\encodings\cp1252.py", line 15, in decode
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 8: character maps to


ということで、プラグインの一部を修正しておきます。
上記のエラーにも出てくるgit.pyの85行目あたりに、下記のようなデコード処理があります。
そこの「fallback_encoding」を「'sjis'」に変えます。

    try:
unitext = getattr(text, method)('utf-8')
except (UnicodeEncodeError, UnicodeDecodeError):
# unitext = getattr(text, method)(fallback_encoding)
unitext = getattr(text, method)('sjis')
return unitext


これだけです。
git.exeへのパスが通ってなければ、環境変数のPathに、git.exeのあるフォルダを追加してください。
この2点で動くようになります。