From: Don Zickus <dzic...@redhat.com>

Octopus merges are too conservative, serialize instead

There are some commits in an octous merge that may overlap and the
octopus merging is to conservative.  Serializing the merges is more
successfull. Convert to that.

Signed-off-by: Don Zickus <dzic...@redhat.com>

diff --git a/redhat/scripts/ci/ark-ci-env.sh b/redhat/scripts/ci/ark-ci-env.sh
index blahblah..blahblah 100644
--- a/redhat/scripts/ci/ark-ci-env.sh
+++ b/redhat/scripts/ci/ark-ci-env.sh
@@ -56,23 +56,20 @@ ark_git_mirror()
 # Merge wrapper in case issues arise
 ark_git_merge()
 {
-       # support octopus merging with source_branch 1|2
-
        target_branch="$1"
-       source_branch1="$2"
-       source_branch2="$3"
+       source_branch="$2"
 
        prev_branch="$(git rev-parse --abbrev-ref HEAD)"
-       ark_git_branch "$target_branch" "${source_branch1}"
+       ark_git_branch "$target_branch" "${source_branch}"
        git checkout "$target_branch"
 
-       msg="Merge '${source_branch1} ${source_branch2}' into '$target_branch'"
-       if ! git merge -m "$msg" "${source_branch1}" "${source_branch2}"; then
+       msg="Merge '${source_branch}' into '$target_branch'"
+       if ! git merge -m "$msg" "${source_branch}"; then
                git merge --abort
                printf "Merge conflict; halting!\n"
                printf "To reproduce:\n"
                printf "* git checkout %s\n" "${target_branch}"
-               printf "* git merge %s\n" "${source_branch1} ${source_branch2}"
+               printf "* git merge %s\n" "${source_branch}"
                die "Merge conflicts"
        fi
 
diff --git a/redhat/scripts/ci/ark-merge-rt.sh 
b/redhat/scripts/ci/ark-merge-rt.sh
index blahblah..blahblah 100755
--- a/redhat/scripts/ci/ark-merge-rt.sh
+++ b/redhat/scripts/ci/ark-merge-rt.sh
@@ -125,7 +125,6 @@ if test "$UPSTREAM_RT_DEVEL_VER" != "$RT_DEVEL_VER" -o \
        # rebases usually go from prev version to new version
        # rebuild the prev merge base as it isn't saved.
        # then rebuild the current merge base as it isn't saved either
-       # because we use an octopus merge below.
        prev_branch="$(git rev-parse --abbrev-ref HEAD)"
        temp_prev_branch="_temp_prev_rt_devel_$(date +%F)"
        git branch -D "$temp_prev_branch" 2>/dev/null
@@ -133,7 +132,7 @@ if test "$UPSTREAM_RT_DEVEL_VER" != "$RT_DEVEL_VER" -o \
        git checkout -b "$temp_prev_branch" "kernel-${OS_BUILD_VER_prev}.0-0"
        git merge "$UPSTREAM_RT_TREE_NAME/$UPSTREAM_RT_PREV_BRANCH"
 
-       # create devel merge branch to base octopus merge on.
+       # create devel merge branch to base merge on.
        temp_devel_branch="_temp_devel_rt_devel_$(date +%F)"
        git branch -D "$temp_devel_branch" 2>/dev/null
        git checkout -b "$temp_devel_branch" "$OS_BUILD_BASE_BRANCH"
@@ -148,14 +147,16 @@ if test "$UPSTREAM_RT_DEVEL_VER" != "$RT_DEVEL_VER" -o \
 fi
 
 ## Build -rt-devel branch, generate pending-rhel configs
-ark_git_merge "$RT_DEVEL_BRANCH" "$OS_BUILD_BASE_BRANCH" 
"$UPSTREAM_RT_TREE_NAME/$UPSTREAM_RT_DEVEL_BRANCH"
+ark_git_merge "$RT_DEVEL_BRANCH" "$OS_BUILD_BASE_BRANCH"
+ark_git_merge "$RT_DEVEL_BRANCH" 
"$UPSTREAM_RT_TREE_NAME/$UPSTREAM_RT_DEVEL_BRANCH"
 # don't care if configs were added or not hence '|| true'
 ark_update_configs "$RT_DEVEL_BRANCH" || true
 # skip pushing config update MRs, keep them in pending-rhel
 ark_push_changes "$RT_DEVEL_BRANCH" "skip"
 
 ## Build -automotive-devel branch, generate pending-rhel configs
-ark_git_merge "$AUTOMOTIVE_DEVEL_BRANCH" "$OS_BUILD_BASE_BRANCH" 
"$UPSTREAM_RT_TREE_NAME/$UPSTREAM_RT_DEVEL_BRANCH"
+ark_git_merge "$AUTOMOTIVE_DEVEL_BRANCH" "$OS_BUILD_BASE_BRANCH"
+ark_git_merge "$AUTOMOTIVE_DEVEL_BRANCH" 
"$UPSTREAM_RT_TREE_NAME/$UPSTREAM_RT_DEVEL_BRANCH"
 # don't care if configs were added or not hence '|| true'
 ark_update_configs "$AUTOMOTIVE_DEVEL_BRANCH" || true
 # skip pushing config update MRs, keep them in pending-rhel

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2972
--
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/kernel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to