1

私はSharpSVNを使用しています。チェックアウト メソッドのロジックを 2 つのステップに分割するにはどうすればよいですか。

  1. 空の svn フォルダーを作成する
  2. HEAD リビジョンへの更新

SvnDepth.Empty引数を使用して最初のステップを行う方法は次のとおりです

var args = new SvnCheckOutArgs() {Depth = SvnDepth.Empty};
result = svnClient.CheckOut(new SvnUriTarget(syncConnectionData.Url), syncConnectionData.RootPath, args);

しかし、次のように更新しようとすると:

var updateArgs = new SvnUpdateArgs() { Depth = SvnDepth.Infinity};
svnClient.Update(syncConnectionData.RootPath, updateArgs);

更新がありません。svn サーバーのリポジトリが空ではありません。

問題は、空の深さでチェックアウトを行った後、最新のリビジョンに正しく更新するにはどうすればよいかということです。

4

1 に答える 1

1

さて、解決策を見つけました =)KeepDepthのプロパティを使用する必要がありましたSvnUpdateArgs

スパースチェックアウト後の更新の作業コードは次のとおりです

    var updateArgs = new SvnUpdateArgs() { Depth = SvnDepth.Infinity, KeepDepth = true };
    svnClient.Update(syncConnectionData.RootPath, updateArgs);
于 2013-08-16T11:44:01.553 に答える