From 34a44453b64be7420673a839aff966d190a28326 Mon Sep 17 00:00:00 2001 From: SirBroccoli Date: Wed, 1 Oct 2025 11:20:31 +0200 Subject: [PATCH] Delete resolve_searchindex_conflicts.sh --- resolve_searchindex_conflicts.sh | 139 ------------------------------- 1 file changed, 139 deletions(-) delete mode 100755 resolve_searchindex_conflicts.sh diff --git a/resolve_searchindex_conflicts.sh b/resolve_searchindex_conflicts.sh deleted file mode 100755 index bfce65f5e..000000000 --- a/resolve_searchindex_conflicts.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/bash - -# Script to resolve searchindex.js conflicts by accepting master branch version -# This script is designed to handle merge conflicts that occur when PRs become -# desynchronized due to the auto-generated searchindex.js file. -# -# The searchindex.js file is automatically generated by the build process and -# frequently causes conflicts when multiple PRs are waiting to be merged. -# This script automatically resolves those conflicts by accepting the master -# branch version of the file. -# -# Usage: resolve_searchindex_conflicts.sh - -set -euo pipefail - -# Validate arguments -if [ $# -ne 3 ]; then - echo "Usage: $0 " - exit 1 -fi - -PR_NUMBER="$1" -HEAD_BRANCH="$2" -BASE_BRANCH="$3" - -# Validate required environment variables -if [ -z "${GITHUB_REPOSITORY:-}" ]; then - echo "Error: GITHUB_REPOSITORY environment variable is required" - exit 1 -fi - -if [ -z "${GH_TOKEN:-}" ]; then - echo "Error: GH_TOKEN environment variable is required" - exit 1 -fi - -echo "Resolving conflicts for PR #$PR_NUMBER (branch: $HEAD_BRANCH -> $BASE_BRANCH)" - -# Get current directory for safety -ORIGINAL_DIR=$(pwd) - -# Create a temporary directory for the operation -TEMP_DIR=$(mktemp -d) -echo "Working in temporary directory: $TEMP_DIR" - -cleanup() { - echo "Cleaning up..." - cd "$ORIGINAL_DIR" - rm -rf "$TEMP_DIR" -} -trap cleanup EXIT - -# Clone the repository to the temp directory -echo "Cloning repository..." -cd "$TEMP_DIR" -gh repo clone "$GITHUB_REPOSITORY" . --branch "$HEAD_BRANCH" - -# Configure git -git config user.email "action@github.com" -git config user.name "GitHub Action" - -# Fetch all branches -git fetch origin - -# Make sure we're on the correct branch -git checkout "$HEAD_BRANCH" - -# Try to merge the base branch -echo "Attempting to merge $BASE_BRANCH into $HEAD_BRANCH..." -if git merge "origin/$BASE_BRANCH" --no-edit; then - echo "No conflicts found, merge successful" - - # Push the updated branch - echo "Pushing merged branch..." - git push origin "$HEAD_BRANCH" - exit 0 -fi - -# Check what files have conflicts -echo "Checking for conflicts..." -conflicted_files=$(git diff --name-only --diff-filter=U) -echo "Conflicted files: $conflicted_files" - -# Check if searchindex.js is the only conflict or if conflicts are only in acceptable files -acceptable_conflicts=true -searchindex_conflict=false - -for file in $conflicted_files; do - case "$file" in - "searchindex.js") - searchindex_conflict=true - echo "Found searchindex.js conflict (acceptable)" - ;; - *) - echo "Found unacceptable conflict in: $file" - acceptable_conflicts=false - ;; - esac -done - -if [ "$acceptable_conflicts" = false ]; then - echo "Cannot auto-resolve: conflicts found in files other than searchindex.js" - git merge --abort - exit 1 -fi - -if [ "$searchindex_conflict" = false ]; then - echo "No searchindex.js conflicts found, but merge failed for unknown reason" - git merge --abort - exit 1 -fi - -echo "Resolving searchindex.js conflict by accepting $BASE_BRANCH version..." - -# Accept the base branch version of searchindex.js (--theirs refers to the branch being merged in) -git checkout --theirs searchindex.js -git add searchindex.js - -# Check if there are any other staged changes from the merge -staged_files=$(git diff --cached --name-only || true) -echo "Staged files after resolution: $staged_files" - -# Complete the merge -if git commit --no-edit; then - echo "Successfully resolved merge conflicts" - - # Push the updated branch - echo "Pushing resolved branch..." - if git push origin "$HEAD_BRANCH"; then - echo "Successfully pushed resolved branch" - exit 0 - else - echo "Failed to push resolved branch" - exit 1 - fi -else - echo "Failed to commit merge resolution" - exit 1 -fi \ No newline at end of file