>>32
ごめん考察足りてないな。
確かに日本語Windowsだけで使うなら、CP932のまま扱っても問題ないはずだけど、
実際上手く扱えないのは例によって\が含まれる文字の場合じゃないかと。

>>35
gitのリポジトリに保存されてるファイル名はバイト列がそのまま保存されてる。
変換するのは、リポジトリからファイル名を取り出して、APIに渡した後の話。