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