如何在SharpSVN中获取SvnLogEventArgs子版本号?

时间:2010-07-12 13:45:52

标签: c# children sharpsvn revisions

我最近一直在与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);

这是我目前使用的,但没有返回任何东西,如果有人能指出我正确的方向,将不胜感激。 -Thanks

1 个答案:

答案 0 :(得分: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,请务必在delegate / lambda中调用e.Detach()