As the title suggests, namely, how can I know if the remote branch is an ancestor of local branch and vice versa?
Browse the ancestry of the local branch and see if you encounter the remote branch tip.
You can browse the local branch ancestry with the graph walker (see Repo.get_walker()
).