4

git difftoolプレーンな cygwin シェルで入力すると、無害な終了が表示されます。

~/sb/ws> git difftool
~/sb/ws>

しかし、Emacs 下位シェル (同じ cygwin bash を実行) でまったく同じことを入力すると、次のエラーが表示されます。

~/sb/ws> git difftool
git difftool
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LC_ALL = (unset),
    LANG = "ENU"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
~/sb/ws> 

なぜこれが起こっているのか、これを修正する方法はありますか?

(ちなみに、他のすべての git コマンドは、この Emacs 下位シェルの下で完全に機能するため、これは に固有のものであるに違いないとしか思えませんdifftool)

編集(関連するツールのバリアントとバージョン情報を提供):

  1. cygwin-1.7.8-1
  2. G41R2F1 上の 2010-05-08 の GNU Emacs 23.2.1 (i386-mingw-nt6.1.7600)
  3. git バージョン 1.7.4
  4. Windows 7 アルティメット 64 ビット
4

2 に答える 2

1

あなたは本当に間違ったLANGを持っています.利用可能なロケールのリストについては/usr/share/localeを見てください..

しかし、本当に疑問なのは、Emacs で git を直接使用する理由です。Emacs にはいくつかの優れた git モードがあり、magitはそれらの間で最適なモードです。Emacs を使用してすべてのタスクを実行しないのはなぜですか?

PS Emacs + Gitに関する記事があります ...

于 2011-07-11T06:30:24.887 に答える