Я пытаюсь оценить, были ли какие-либо изменения в удаленном репозитории, которые мне может потребоваться извлечь перед определенным фрагментом кода.
Я делаю это, выбирая объект FetchInfo
через fetch()
к удаленному источнику:
>>> import git
>>> my_repo = git.Repo.init(my_dir)
>>> repo_fetch = my_repo.remotes.origin.fetch()[0]
>>> repo_fetch
<git.remote.FetchInfo object at 0x10192c650>
Однако я не смог ясно увидеть в документации , в чем разница между тем, когда есть вещи для извлечения / извлечения и когда нет.
Я знаю, pull()
выводит переменную str
, содержащую Already up to date.
, когда локальное репо обновлено, но я не хочу тянуть, я просто хочу получить.
Я вижу некоторые различия в его атрибутах, когда я знаю, что в удаленном репо нет изменений:
>>> repo_fetch.ref
<git.RemoteReference "refs/remotes/origin/master">
>>> repo_fetch.flags
4
>>> repo_fetch.note
''
>>> repo_fetch.old_commit
>>> repo_fetch.remote_ref_path
'master '
и когда есть изменения:
>>> repo_fetch.ref
<git.RemoteReference "refs/remotes/origin/master">
>>> repo_fetch.flags
64
>>> repo_fetch.note
''
>>> repo_fetch.old_commit
<git.Commit "[some_string]">
>>> repo_fetch.remote_ref_path
' '