6

先日自宅のネットワークドライブ(これらの1つ)に設定したSVNリポジトリへのコミット/更新に問題があります。

私はURLを使用してリポジトリを参照しています:

file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home

VS 2010の[ソリューション]コンテキストメニューから[更新]または[コミット]オプションのいずれかを選択すると、以下に示す例外を表示するダイアログウィンドウが表示されます。

ここに画像の説明を入力してください

SharpSvn.SvnRepositoryIOException: Commit failed (details follow): ---> SharpSvn.SvnRepositoryIOException: Unable to connect to a repository at URL 'file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home' ---> SharpSvn.SvnRepositoryIOException: Unable to open an ra_local session to URL ---> SharpSvn.SvnRepositoryIOException: Unable to open repository 'file://mynetworkdrive/Documents/subversion/code/sln/trunk/MyWebsite/trunk/Home' ---> SharpSvn.SvnSystemException: Can't open file '\\mynetworkdrive\Documents\subversion\code\sln\trunk\MyWebsite\trunk\Home\format': Logon failure: unknown user name or bad password.  
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error, Object targets)
   at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error, Object targets)
   at SharpSvn.SvnClient.Commit(ICollection`1 paths, SvnCommitArgs args, SvnCommitResult& result)
   at Ankh.Services.PendingChanges.PendingChangeHandler.<>c__DisplayClass1b.<Commit_CommitToRepository>b__19(Object sender, ProgressWorkerArgs e)

これを最初に設定したとき、VisualStudio内からリポジトリと正常に通信できました。

Windowsエクスプローラーを使用してネットワークドライブの内容を参照できます。

Visual Studioの外部でTortoiseSVNを使用して、リポジトリを更新またはコミットできます。

ただし、これは面倒です。AnkhsvnとVisualStudioの統合を使用できるようにしたいと思います。

VisualStudioがURLにアクセスするために必要なユーザー名/パスワードを忘れたようです。クレデンシャルのプロンプトを置き換えるか強制する方法が見つかりません。

また、IIS 7で作業できるように、管理者としてVisual Studio 2010を実行するように変更しました。これは、それと関係があるのでしょうか。

4

1 に答える 1

4

コメントから元の応答までの知識で答えを書き直します。

管理者権限で Visual Studio を実行します。これにより、アプリケーション (VS) は、独自のネットワーク マッピングを持つ独自のセッションで実行されます。Subversion は、まだ作成されていないネットワーク マッピングを使用して file:/// リポジトリへの接続を試みます。

この場合の解決策は、この管理ユーザーにもネットワーク マッピングが存在することを確認することです。これを行うには、[ファイル] -> [開く] でフォルダーを参照し、資格情報を渡します。

もう 1 つのオプションは、ネットワーク マッピング (net add) を作成してから Visual Studio を起動するバッチ ファイルを作成することです。これにより、毎回同じトリックを適用する必要がなくなります。

別のオプションは、http(s) または svn:// 経由で Subversion サーバーに接続することです。

于 2013-03-12T13:05:28.477 に答える