LibGitSharp v0.17的突破性变化



我是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

相关内容

  • 没有找到相关文章

最新更新