1

SharpSvn(C#から)を使用して、レポからいくつかのフォルダーを選択するのに問題があります。これは私がしました:

client.CheckOut( uri, dir, new SvnCheckOutArgs() { Depth = SvnDepth.Empty } );
foreach( var folder in folders )
{
   client.Update( folder );
}

しかし、2回目の呼び出しUpdateは機能しませんでした。アクションがSvnNotifyAction.Skipであり、作業コピーに何も書き込まれないことを報告します。

uriは本質的に次のようなものです:svn://myserver/myrepo/mysdkおよびdirは次のようなものC:\Test\mysdkです。(この質問のために正確な名前を変更しましたが、構造的には同じです。)

次に、最初のフォルダーはC:\Test\mysdk\include(これで機能します)

次に、2番目のフォルダーはC:\Test\mysdk\bin\v100\x86(これは更新されません)

最初のフォルダーは機能するのに、2 番目のフォルダー (ネストされたサブフォルダー) を取得しても更新されないのはなぜですか? スキップされたと報告していますか?しかし、私はその理由を理解する方法がわかりません。

4

1 に答える 1

3

親ディレクトリがまだ存在しないため、ネストされたサブディレクトリの更新が機能しないことが判明し、ネストされたサブディレクトリの更新はスキップされます。これを修正するには、Update に引数を追加して、親ディレクトリを作成する必要があることを示す必要がありました。

(同等の svn コマンド ライン オプションは になります--parents)。

client.Update( folder, new SvnUpdateArgs() { UpdateParents = true } );

svn コマンド ラインから手動で実行しようとして、これを発見しました (そして、同じ問題に遭遇しました)。 svn help coこの小さな手がかりが提供されました: --parents : 中間ディレクトリ を作成します。ここまでは順調ですね。

于 2013-02-20T14:09:25.977 に答える