2013-06-20 17 views
7

Jak mogę wykorzystać GitPython w celu ustalenia, czy:Sprawdź status lokalnego Pythona stosunku do pilota z GitPython

  • Mój lokalny oddział wyprzedza pilota (mogę bezpiecznie wcisnąć)
  • Mój lokalny oddział jest za pilot (mogę bezpiecznie wyciągnąć)
  • Mój lokalny oddział oddzielił się od pilota?

Aby sprawdzić, czy lokalne i zdalne są takie same, to robię:

def local_and_remote_are_at_same_commit(repo, remote): 
    local_commit = repo.commit() 
    remote_commit = remote.fetch()[0].commit 
    return local_commit.hexsha == remote_commit.hexsha 

Odpowiedz

7

Zobacz https://stackoverflow.com/a/15862203/197789

Np

commits_behind = repo.iter_commits ('master..origin/master')

i

commits_ahead = repo.iter_commits ('Pochodzenie/master..master')

Następnie można użyć coś jak poniżej, aby przejść od iterator do count:

Ilość = suma (1 dla C commits_ahead)

Ten ostatnio sprawdzane GitPython 1.0.2.

Powiązane problemy