Срочные изменения в LibGitSharp v0.17

Я новичок в библиотеке libgit sharp. У меня есть строка кода, которая работает с v0.15 из libgit sharp. Я обновил пакет до последней версии 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);
}

1 ответ

FetchHead действительно было объявлено устаревшим в https://github.com/libgit2/libgit2sharp/commit/c7e11bbff588c0f2b84b3f9dbdfaf2e5ef00cf91, как часть PR Expand Merge API PR # 643:

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

Примите 35ea14d в апреле 2014 года для libgit2sharp 0.18, установите класс FetchHead как внутренний.

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

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

Другие вопросы по тегам