From b86fe23805678b5183fe3411dda3a42d697cbe38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20H=C3=B6ppner?= <jonas.hoeppner@garz-fricke.com> Date: Fri, 25 Mar 2022 11:19:29 +0100 Subject: [PATCH] CI: merge_into_manifest: Check if a commit is already merged --- merge_into_manifest.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/merge_into_manifest.py b/merge_into_manifest.py index e83a3d04..2ba9eb3c 100755 --- a/merge_into_manifest.py +++ b/merge_into_manifest.py @@ -9,6 +9,7 @@ from accept_merge_request import accept_merge_request from create_merge_request import create_merge_request from get_merge_requests import get_merge_requests from integrate_into_manifest import integrate_into_manifest +from get_current_revision_from_manifest import get_current_revision_from_manifest def merge_into_manifest( @@ -26,6 +27,27 @@ def merge_into_manifest( the current manifest master. """ + # Check if the commit is already merged + # Currently this is especially true if the gitlab-ci + # pipeline already has merged an gitlab-ci update + current_revisions = get_current_revision_from_manifest( + manifest_project=manifest_project, + manifest_branch=master_branch, + project=project, + recipe_name=recipe_name, + srcrev_file=srcrev_file, + ) + # This commit is contained there if current_revisions contains + # it directly or any parrent of current_revisions is commit + for rev in current_revisions: + if common.is_commit_parent_of_project_commit(project, rev, commit): + print( + "Commit {} is already merged into {}".format( + commit, manifest_project.name + ) + ) + return + # Get source merge request mrs = get_merge_requests( project, -- GitLab