dulwich.graph module

Implementation of merge-base following the approach of git

dulwich.graph.can_fast_forward(repo, c1, c2)

Is it possible to fast-forward from c1 to c2?

Parameters
  • repo – Repository to retrieve objects from

  • c1 – Commit id for first commit

  • c2 – Commit id for second commit

dulwich.graph.find_merge_base(repo, commit_ids)

Find lowest common ancestors of commit_ids[0] and any of commits_ids[1:]

Parameters
  • repo – Repository object

  • commit_ids – list of commit ids

Returns

list of lowest common ancestor commit_ids

dulwich.graph.find_octopus_base(repo, commit_ids)

Find lowest common ancestors of all provided commit_ids

Parameters
  • repo – Repository

  • commit_ids – list of commit ids

Returns

list of lowest common ancestor commit_ids