1

私は最近 SharpSVN をかなり使用しており、現在、すべてのリビジョンの子のリビジョン番号を取得しようとしています。を使用SvnLogEventArgs.HasChildrenすると、それらが存在することを確認できますが、その下にある実際の子の数が必要です。私は SvnClient オブジェクトを見てきましたGetMergesMerged()が、正しい値を返すために何をフィードするかを判断できません。現在、何も返されません。

System.Collections.ObjectModel.Collection<SvnMergesMergedEventArgs> logitems = null;
SvnTarget target = SvnTarget.FromUri(new Uri(myRepoURL));
SvnUriTarget targetUri = new SvnUriTarget(new Uri(myRepoURL), revision);
client.GetMergesMerged(target, targetUri, out logitems);

これは私が現在使用しているものですが、何も返していません。誰かが私を正しい方向に向けることができれば幸いです。-ありがとう

4

1 に答える 1

2

Log必要なことを行うには、 (またはGetLog) メソッドを使用する必要があります。

Client.Log(new Uri(myRepoUrl),
    new SvnLogArgs
    {
        Start = startRevision,
        End = endRevision,
        Limit = numberOfItemsToFetch,
        RetrieveMergedRevisions = true
    },
    (s, e) =>
    {
        // e.MergeLogNestingLevel indicates if this is the first, second or nth level merge
    });

デリゲートを取るすべての SharpSvn 呼び出しと同様に、デリゲートの外部で eventargs を使用する場合は、必ずe.Detach()デリゲート/ラムダ内で呼び出してください。

于 2010-07-12T20:34:04.593 に答える