4

デスクトップのネイティブWindowsでcygwinbashを使用するように構成されたemacs24.2を使用しています。

cygwin bashからSVNを実行すると、すべてが正常に機能します。それは私の認証資格情報を記憶し、リポジトリに接続します。しかし、emacs内からバージョン管理コマンドを実行しようとすると、常に次のメッセージが表示されます。

svn:E170001:URL'https://address.to.repo'のリポジトリに接続できませんsvn:E170001:' https://address.to.repo 'のオプション:認証に失敗しました:サーバーへの認証に失敗しました:基本的なチャレンジを拒否しました

PSVNインターフェイスにも接続してみましたが、同じエラーメッセージが表示されます。cygwinterminalとemacsから同じように機能しないのはどういうわけか奇妙です。これに関する助けをいただければ幸いです。

4

2 に答える 2

0

今解決しました。問題は、統合されたEmacsNTcygwinがcygwinizedHOMEディレクトリを使用する代わりにWindowsHOMEパスを使用していたことでした。

于 2012-12-06T11:03:30.027 に答える
0

完全な答えは次のようになるはずです。

  1. SVNは、(ほとんどのUNIXプログラムと同様に)ユーザーごとの設定を見つけるためにHOMEパスに依存しています。
  2. cygwinでは、その変数には「/ home/pablo」のようなものがあります。
  3. 「/home/ pablo」は実際には「drive:\ cygwin_dir \ home\pablo」に翻訳されています
  4. Emacs-ntはWindows環境からHOMEを取得するため、cygwinのHOMEとは異なります。
  5. emacのvc-svnは、設定を探すために間違ったパスを使用します。

したがって、2つの解決策があります(多分それ以上):

  1. emacs-ntにcygwinのHOMEを使用させます(これがcygwinizationの意味です!!:O)、これにはsetup-cygwinが必要ですが、特にcygwin-mountに依存する1つのスクリプトが必要です。したがって、emacs-ntはcygwinのパス「スタイル」を理解できます。
  2. (お勧めしません)逆に、私が行ったことは、cygwinにソフトcygwinリンクを介してウィンドウのHOMEを使用させることです。ln -s /cygdrive/c/Users/pablo/Roaming/ /home/pablo
  3. ソフトリンクを作成して、cygwinのsubversiondirがwindowsoneを指すようにしますln -s /cygdrive/c/users/pablo/AppData/Roaming/.subversion /home/pablo/.subversion

2番目の解決策では、cygwinの「.bashrc」が実行されません。したがって、そこで定義されている環境変数とエイリアスは定義されません。私はまだそれができると思いますが、私はその解決策を微調整するために必要な適切なcygwinの知識を持っていません。そのため、現在、ソリューション番号3を使用しています。

于 2014-09-17T00:51:06.403 に答える