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(or 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()在委托/lambda 内部调用

于 2010-07-12T20:34:04.593 回答