突破LibGitSharp v0.17的变化

时间:2016-08-13 07:16:26

标签: git libgit2 libgit2sharp gitsharp

我是libgit sharp库的新手。我有一行代码与libgit sharp的v0.15一起使用。我已将软件包更新到最新版本0.22。 Repository.Network.FetchHeads.FirstOrDefault()

在v0.17(https://github.com/libgit2/libgit2sharp/blob/master/CHANGES.md)中不推荐使用FetchHeads。

以下是我要重写的片段

var latestRemoteHead = repo.Network.FetchHeads.FirstOrDefault();
if (latestRemoteHead != null){
    var latestRemoteHeadCommit = (Commit)latestRemoteHead.Target;
    repo.Reset(ResetMode.Hard, latestRemoteHeadCommit);
}

1 个答案:

答案 0 :(得分:0)

FetchHead确实已在commit c7e11bbff588c0f2b84b3f9dbdfaf2e5ef00cf91中弃用,作为Expand Merge API PR #643的一部分:

  • 弃用Network.FetchheadsRepository.MergeHeads,因为这些应该是 仅限内部。
  • 介绍为当前提取已配置的上游分支的功能 分支
2014年4月

Commit 35ea14d为libgit2sharp 0.18设置the FetchHead class as internal

您需要列出所有远程分支并检查其HEAD提交,以便从FetchHeads中获取您的内容。

作为第一条线索,请参阅LibGit2Sharp.Tests/TestHelpers/ExpectedFetchState.cs列出branch.Tip.Id