GerritRESTAPI有一个端点更改,并且有一个submitted_together
选项。在python中,它将是这样的
def get_changes_submitted_together(rest, changeid):
try:
return rest.get(f"/changes/{changeid}/submitted_together?o=NON_VISIBLE_CHANGES&o=CURRENT_REVISION")
except requests.exceptions.HTTPError:
raise RuntimeError(f"Provided change ({changeid}) cannot be found on remote gerrit server.")
现在,如果我有一个包含10个提交的提交链,并且我调用了位于该链中间的具有change id的端点,那么该端点只返回我请求的一个及其父提交,而不是子提交。当然,这是有道理的,因为若我现在转到GerritUI并合并那个特定的中间提交,那个么孩子们仍然不会被合并
有没有办法通过GerritRESTAPI通过提供任何提交的更改ID从开始到结束获取整个“关系”链
我以前做过迭代所有打开的更改请求,获取它们的父项并向下迭代,直到父项是其要合并到的分支中的提交。然而,这是一种暴力手段
当然,我可以检查本地分支并从中获取链信息,但我可能有一个用例,即整个提交链在本地git存储库中不可用,只能作为远程gerrit服务器中的审阅
有什么建议吗
试试Get Related Changes
change-id
和相应的revision-id
可以是链中的任何一个。我认为在你的情况下revision-id
总是可以current
相关问题 更多 >
编程相关推荐