1

ネットワーク共有にあるSVNリポジトリの作業コピーのリポジトリURLを取得しようとしています:\\host\D\directory\

次のコードが実行されています。

SvnClient svnClient = new SharpSvn.SvnClient();
SvnInfoEventArgs svnInfo;
svnClient.GetInfo(SvnTarget.FromString("\\\\host\\D\\directory\\"), out svnInfo);
Uri repositoryUrl = svnInfo.Uri;

GetInfo()メソッドで次のエラーが発生しました。

'\host\D' does not exist
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: SharpSvn.SvnException: '\host\D' does not exist

スタックトレース:

[SvnException: '\host\D' does not exist]

[SvnInvalidNodeKindException: '\host\D' is not a working copy]
   SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error) +232
   SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error) +80
   SharpSvn.SvnClient.Info(SvnTarget target, SvnInfoArgs args, EventHandler`1 infoHandler) +443
   SharpSvn.SvnClient.GetInfo(SvnTarget target, SvnInfoEventArgs& info) +117

エラーがいつ発生するか知っていますか、または SharpSvn で使用するより良い方法を知っていますか?

4

3 に答える 3

0

Subversion 1.6 は、一部のコード パスで \path\subpath\ を \path\subpath に自動的に正規化しました。これにより、UNC パスやドライブのルートで作業コピーを使用できなくなりました。

Subversion 1.7 ではこれらの問題が解決され、両方のシナリオが完全にサポートされるようになりました。(ただし、パフォーマンス上の理由から、ローカル ハードディスク上の作業コピーを使用することをお勧めします)

于 2012-09-09T16:34:18.200 に答える
0

この 'not a working copy' 例外の原因は、svn クライアントの設定が .svn ディレクトリではなく _svn を使用している可能性があります。

svn クライアント設定で正しい拡張機能を使用していることを確認してください。

于 2011-06-29T21:43:32.633 に答える
0

これは SVN 固有の例外 (SvnInvalidNodeKindException) であり、Tortoise の例外ではありません。ただし、Tortoise をインストールするか、.NET 用の SharpSVN ライブラリを使用して SVN と統合すると、これが発生する可能性があります。

問題は、コミットしているパスの長さが長すぎることです。2 つの奇妙な動作があります。ローカルの作業コピーの Windows の長さが長すぎる場合、SVN は無効なファイルをチェックアウトしますが (常にとは限りません)、例外は発生しません。もう 1 つの動作として、コミットを実行してファイルを置き換えようとすると、SVN がこの例外 (SvnInvalidNodeKindException) をスローし、['\\folder\\folder\\' is not a working copy何もコミットしないというメッセージが表示されます。

解決:

パスを短くしてください。最大値はわかりませんが、Windows API に基づくファイル パスの最大長は同じだと思います。Microsoft はこれを修正したことがなく、今日でも問題となっています。Windows でのこの問題についてかなり前に投稿しましたが、投稿が見つかりません。

于 2014-12-03T00:06:20.140 に答える