/ / gitpython - kontrola, či sa vetva nezlučuje s repo objektom? - git, git-branch, git-merge, gitpython

gitpython - kontrola, či nie je pobočka zlúčená s objektom repo? - git, git-branch, git-merge, gitpython

Musím skontrolovať, či sa vetva, o ktorú mám záujem, zlúčila s inou vetvou.

s gitpython, Môžem použiť jeho príkazový objekt git, ako napríklad:

import git
g = git.Git("/path/to/git/repo")
g.branch("--no-merged", "master")
Out[273]: u"* newn  test"

Takže vydáva správne vetvy, ale formát, ktorý vracia, nie je celkom dobrý. Teraz musím analyzovať reťazec a nájsť vetvu, ktorá ma zaujíma.

Premýšľal som, či to isté možno dosiahnuť pomocou:

repo = git.Repo("/path/to/git/repo")
# Check branches using `repo` object as starting point?

s repo Existuje veľa užitočných metód, ktoré dokážu načítať užitočné informácie, ktoré sú už analyzované na objekty, ale nenašiel som, ako to isté urobiť. repo objekt (ak je to vôbec možné).

odpovede:

0 pre odpoveď č. 1

Myslím, že zlúčená vetva má 0 zaviazaných pred ostatnými (master).

from git import Repo
branch_name = "is-this-branch-merged"
repo = Repo(".")
commits_ahead = repo.iter_commits("origin/master..%s" % branch_name)
commits_ahead_count = sum(1 for c in commits_ahead)
is_merged = (commits_ahead_count == 0)

Rád by som vedel o lepšej verzii, v ktorej ľahko nájdete všetky už zlúčené vetvy.