GitKrakenでVB6のソースも管理しているのだが、VB6がSJISなので、GitKrakenのDIFFでは文字化けして使い物にならない。
文字化けしていると、参照しても文字化けのままソースを保存することになるのでマージも出来ず参照もままらなかった。
そこで、Gitconfigを設定して外部ツールとしてVS-CODEをDIFFツールに設定しても、ワークファイル自体をGitKrakenがSJISなのにUTF8で開いて保存してしまっているので、外部ツールにもローカルファイルが文字化けしてしまい、これは、SJISファイルをUTF8で開いてそのまま保存してしまうので元に戻す事すら出来ず、かなりクレームを入れていた。
当初、DIFFの文字化けでクレームを入れたら、外部ツールを設定して欲しいみたいな返事だったので、そうしたにもかかわらず、GitKraken自体で履歴ファイルを文字化け状態で保存するので、どうしようもないと更にクレームを入れていた。
今回、環境を作り直したので、開発環境も全部リセットしたため新たに作り直して、現状は開発出来る様になって、VB6のシステムを.NET化する作業は出来ているのだが、DIFFにVS-CODEを設定していなかったので、Gitconfigに下記の通り設定して外部DIFFを使える様にした。
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
[difftool]
prompt = false
この設定をGitconfigに追記してGITでもVSCODEをDIFFとして使える様にできるわけだが、この設定はそのままGitKrakenでも認識するので、外部DIFFとしてVSCODEに送信出る様になる。
すると、コメント部分の日本語がちゃんと日本語で表示されていてビックリ。
いつもはローカルファイル部分が文字化けしてリモートファイルはSJISで文字化けせずに表示できていただけだったが、今日見たら両方ともSJISで開いていて文字化けしていなかった。
これでようやくGitKrakenだけで使える様になった。
それまではTortoiseGITでログを開いてDIFFを確認していて、TortoiseGITはローカルファイルも文字化けせずに開いてくれるし、WinMargeで直ぐに表示出来る等何れにしてもSJISファイルだとしても文字化けせずに確認出来ていたのでこれを使っていた。
現在はGitKrakenのみでそのままDIFFをVSCODEにしているのでようやくTortoiseGITとかWinMargeを使わずに済む環境を構築出来た。
一応、TortoiseGITとかWinMargeは開発環境としてのサブツールとして削除することは無いが、メインでGitKrakenとVSCODEだけの環境でもソースコード管理が出来る様になってとても助かる。
後は、GitKraken自体のDIFFがSJISでも対応してくれれば言うこと無いのだがなぁ...
コメント