Can I make git recognize a UTF-16 file as text?
There is a very simple solution that works out of the box on Unices.
For example, with Apple's .strings
files just:
Create a
.gitattributes
file in the root of your repository with:*.strings diff=localizablestrings
Add the following to your
~/.gitconfig
file:[diff "localizablestrings"] textconv = "iconv -f utf-16 -t utf-8"
Source: Diff .strings files in Git (and older post from 2010).
I've been struggling with this problem for a while, and just discovered (for me) a perfect solution:
$ git config --global diff.tool vimdiff # or merge.tool to get merging too!
$ git difftool commit1 commit2
git difftool
takes the same arguments as git diff
would, but runs a diff program of your choice instead of the built-in GNU diff
. So pick a multibyte-aware diff (in my case, vim
in diff mode) and just use git difftool
instead of git diff
.
Find "difftool" too long to type? No problem:
$ git config --global alias.dt difftool
$ git dt commit1 commit2
Git rocks.
Have you tried setting your .gitattributes
to treat it as a text file?
e.g.:
*.vmc diff
More details at http://www.git-scm.com/docs/gitattributes.html.