Skip to content

Commit 6da2119

Browse files
committed
NO-JIRA: Handle files deleted in upstream during merge conflict resolution
Add a dedicated step to remove all files with UD conflict status (deleted in upstream, present in downstream) before the restore-upstream step runs, so git checkout --theirs works without errors regardless of whether the file is listed in restore-upstream or not. Signed-off-by: Jayapriya Pai <janantha@redhat.com>
1 parent 2ce787d commit 6da2119

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

.github/workflows/merge-flow.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,11 @@ jobs:
138138
id: merge
139139
run: |
140140
git merge refs/tags/${{ steps.upstream.outputs.release }} --no-edit || echo 'MERGE_CONFLICT=true' >> $GITHUB_OUTPUT
141+
- name: Resolve conflict due to deleted upstream files
142+
if: ${{ steps.merge.outputs.MERGE_CONFLICT == 'true' }}
143+
run: |
144+
# Remove all files deleted in upstream (UD) before restoring other conflicts
145+
git status --porcelain | awk '{ if ($1=="UD") print $2 }' | xargs -r git rm
141146
- name: Resolve conflict using upstream contents
142147
if: ${{ steps.merge.outputs.MERGE_CONFLICT == 'true' && inputs.restore-upstream != ''}}
143148
run: |

0 commit comments

Comments
 (0)