我是libgit sharp库的新手。我有一行代码可以使用libgit sharp的v0.15版本。我已经把包更新到最新的0.22版本。Repository.Network.FetchHeads.FirstOrDefault ()
FetchHeads在v0.17 (https://github.com/libgit2/libgit2sharp/blob/master/CHANGES.md)中已弃用。
下面是我想重写的代码片段
var latestRemoteHead = repo.Network.FetchHeads.FirstOrDefault();
if (latestRemoteHead != null){
var latestRemoteHeadCommit = (Commit)latestRemoteHead.Target;
repo.Reset(ResetMode.Hard, latestRemoteHeadCommit);
}
FetchHead
确实在提交c7e11bbff588c0f2b84b3f9dbdaf2e5ef00cf91中被弃用,作为扩展合并API PR #643的一部分:
- 弃用
Network.Fetchheads
,Repository.MergeHeads
,因为这些应该是内部。 - 引入将配置好的上游支路拉入当前的能力分支
提交35ea14d在2014年4月libgit2sharp 0.18设置FetchHead类为内部
你需要列出所有的远程分支,并检查他们的HEAD提交,以便从FetchHeads中获得你所拥有的。
作为第一条线索,参见LibGit2Sharp.Tests/TestHelpers/ExpectedFetchState.cs
列出branch.Tip.Id