2016-08-13 2 views
2

Я новичок в библиотеке libgit sharp. У меня есть строка кода, которая работает с v0.15 из libgit sharp. Я обновил пакет до последней версии 0.22. Repository.Network.FetchHeads.FirstOrDefault()Нарушение изменения в LibGitSharp v0.17

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); 
} 

ответ

0

FetchHead действительно осуждается в commit c7e11bbff588c0f2b84b3f9dbdfaf2e5ef00cf91, как часть Expand Merge API PR #643:

  • принизить Network.Fetchheads, Repository.MergeHeads как они должны быть только внутренние ,
  • Ввести возможность вывести сконфигурированный вверх по течению ветвь для текущего филиала

Commit 35ea14d в апреле 2014 года для libgit2sharp 0,18 набор the FetchHead class as internal.

Вам нужно будет указать все удаленные ветви и проверить их фиксации HEAD, чтобы получить обратно то, что у вас было от FetchHeads.

В качестве первого ключа, см LibGit2Sharp.Tests/TestHelpers/ExpectedFetchState.cs перечислить branch.Tip.Id

Смежные вопросы