SourceTreeでJavaのpropertiesファイルが\uXXXXで表示されてしまう時

SourceTree便利ですよね。
ただ、Javaのプロパティファイルのdiff表示が、
\uXXXXで表示されてしまうんですよねー。
あ、Macの話です。

で、そんな時の対処法です。
流れとしては、gitでdiff取る時、.propertiesファイルの時は、
Javaのnative2asciiを使って、\uXXXXから日本語表記に変換します。

1)gitのグローバルで作業します

まずは、gitのグローバルconfの内容を確認しておきます。
confの場所は、
~/.gitconfig
です。
ちなみにグローバルではなくリポジトリ単位で設定した場合は、
リポジトリ配下にconfファイルがあります。

2)attributesfielを用意します

とりあえず、同じくユーザー配下に、.gitattributesファイルを作成します。
.propetiesのdiff時の指定をします。

vi ~/.gitattributes
*.properties diff=properties


viで1行記入し、ファイル保存します。
viコマンド集

もしくは、echo使って1行でファイル作成もできます。

echo '*.properties diff=properties' >>~/.gitattributes


gitattributesファイルについて

3)続いて、グローバルconfにattributesfileの場所の指定を追加します

attributesfileパスを設定します。

git config --global core.attributesfile "~/.gitattributes"

4)さらに、グローバルconfにdiffする際のアクションを設定します

.propertiesファイルの際のdiff.textconvをグローバルconfに設定します。

git config --global diff.properties.textconv "/Library/Java/JavaVirtualMachines/java/bin/native2ascii -reverse"

native2asciiの位置は環境によって異なります。
javaの場所確認

native2asciiについて

4)グローバルconfの内容を確認
cat ~/.gitconfig

以下のような感じで、confに内容が追加されているはずです。

[core]
    attributesfile = ~/.gitattributes

[diff "properties"]
    textconv = /Library/Java/JavaVirtualMachines/java/bin/native2ascii -reverse

最後に、SourceTreeを再起動して、.propertiesファイルのdiffを確認します。
\uXXXX表記から日本語に変換されているはずです。

ということで、お疲れ様でしたー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です