提交父母的顺序是否有一些约定?
因为提交的父母之一应该是要合并到的当前分支上的先前提交,其余的是其他合并分支的先前提交。
我想确定当前分支的先前提交,我正在使用pygit
它返回提交的父母列表,直觉上我认为父母的顺序可能很重要,但我发现没有明确提及这一点。
我编写了这个实用函数,使用第一个父提交来遍历分支:
def walk_branch(pygit_repository, branch_oid):
"""
Walk a single branch
"""
from pygit2 import GIT_SORT_TOPOLOGICAL
previous_first_parent_oid = None
for commit in pygit_repository.walk(branch_oid, GIT_SORT_TOPOLOGICAL):
if previous_first_parent_oid is None or commit.oid == previous_first_parent_oid:
previous_first_parent_oid = commit.parents[0].oid if len(commit.parents) else None
yield commit