2016-09-14 3 views
1

Я использую библиотеку libgit2sharp для интеграции в мой проект, где я хочу проверить, обновлен ли мой локальный репозиторий с удаленным репозиторием, потянуть/зафиксировать мудрый.Как получить статус Pull Status/Up-To-Date из удаленного хранилища?

Я хочу знать это, поэтому, если это не актуально, я затем делаю «Pull» и делаю некоторые другие вещи в своей программе.

И если это актуально, мне нужно как-то это знать.

Что вы можете сделать в этой библиотеке для этого?

ответ

0

Один из способов - выполнить выбор git, как описано в libgit2sharp git-fetch.

Проверьте, что было создано с помощью выборки, например TestHelpers/ExpectedFetchState.cs: ничего не было добавлено (нет ветвей/тегов/фиксации), тогда ваше репо обновлено.

+0

Как вы можете проверить, что создается в репозитории.Network.Fetch()? Кажется, он ничего не возвращает, и делегат «RepositoryOperationCompleted», который может быть назначен, не имеет много полезной информации после завершения выборки. Не могли бы вы прийти с примером кода? –

+0

@KevinJensenPetersen Смотрите его использование в https://github.com/libgit2/libgit2sharp/blob/5d0cb35b89ada4b347bc4b763895ee8b263591c2/LibGit2Sharp.Tests/FetchFixture.cs: он регистрирует состояние репо * до * выборки и помогает сравнивать с состоянием репо * после * выборки. – VonC

+0

Прошу прощения, я никогда не умел читать эти тесты и преобразовывать их в правильный код. Конечно, вы не можете просто помочь мне с примером кода для моей проблемы? :) –