3

名前にウムラウト文字を含むファイルを含む Java プロジェクトがあります。Eclipse の EGit プラグインで使用できるようにするには、どのように git リポジトリをセットアップする必要がありますか。

私はすでに簡単に試しました

 git init
 git add *

しかし、この投稿でわかるように、これは機能しないことが判明しました。

どういうわけか、ファイル名をutf8として扱わなければならないことをgitに伝えなければならないと思います。

私は Max OSX 10.7 を使用していますが、Windows 7 Pro でも同じ問題が発生しました。

何か案は?

4

3 に答える 3

2

MacOSは文字(ファイル名)を分解形式(NFD)でエンコードしますが、他のすべての人は合成形式(NFC)を使用します。Gitを使用してファイル名を追加すると、Git(Windowsを除く)はディスクから読み取ったファイル名を再コード化しないため、分解されたフォームがリポジトリに入ります。

EGitは、合成された形式が使用されることを前提としています。MacでASCII以外の名前を使用する場合は、問題に気付いていない限り、リポジトリでEGitまたはJGitのみを使用してください。

1.7.10以降のGitforWindowsは、UTF-8NFCを使用します。

構成とは、「Ä」のような文字が1つのUnicode文字としてエンコードされることを意味し、分解された形式は、「A」+「前の文字の上に2つのドットを追加する」としてエンコードされることを意味します。

$ touch Ä
$ echo Ä|od -tx1a
0000000    c3  84  0a                                                    
           ?  84  nl                                                    
0000003
$ ls|od -tx1a
0000000    41  cc  88  0a                                                
           A   ?  88  nl                                                
0000004
$ 

更新:1.7.12以降、OS Xのネイティブgitには、WindowsのEGitとGitの両方と互換性のある方法で非ASCII文字を事前構成するオプションがあります。core.precomposeunicodeをtrueに構成する必要があります。

于 2012-07-06T23:48:40.937 に答える