Files
wehub-resource-sync c8733f5f8c
ci / test (3.11) (push) Failing after 1s
ci / test (3.12) (push) Failing after 1s
ci / test (3.13) (push) Failing after 0s
ci / test (3.10) (push) Failing after 2s
ci / wheel-gate (push) Failing after 1s
chore: import upstream snapshot with attribution
2026-07-13 12:05:22 +08:00

73 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# sync-upstream.sh — Sync channel implementations from upstream tools
#
# Usage: ./scripts/sync-upstream.sh
#
# This script checks for updates in x-reader's fetchers/ directory
# and shows which files have changed. You can then manually review
# and merge the changes.
set -e
UPSTREAM_REPO="runesleo/x-reader"
UPSTREAM_BRANCH="main"
UPSTREAM_DIR="x_reader/fetchers"
LOCAL_DIR="agent_reach/channels"
echo "👁️ Agent Reach — Upstream Sync"
echo "Checking for updates from $UPSTREAM_REPO..."
echo ""
# Create temp dir for upstream code
TMPDIR=$(mktemp -d)
trap "rm -rf $TMPDIR" EXIT
# Clone upstream (shallow)
git clone --depth 1 --branch "$UPSTREAM_BRANCH" \
"https://github.com/$UPSTREAM_REPO.git" "$TMPDIR/upstream" 2>/dev/null
if [ ! -d "$TMPDIR/upstream/$UPSTREAM_DIR" ]; then
echo "❌ Upstream directory not found: $UPSTREAM_DIR"
echo " x-reader may have changed their structure."
exit 1
fi
# Compare each file
echo "Comparing files..."
echo ""
CHANGES=0
for upstream_file in "$TMPDIR/upstream/$UPSTREAM_DIR"/*.py; do
filename=$(basename "$upstream_file")
local_file="$LOCAL_DIR/$filename"
if [ ! -f "$local_file" ]; then
echo "🆕 NEW: $filename (exists in upstream but not locally)"
CHANGES=$((CHANGES + 1))
continue
fi
# Compare (ignoring import path differences)
if ! diff -q <(sed 's/x_reader\.fetchers/agent_reach.channels/g' "$upstream_file") "$local_file" > /dev/null 2>&1; then
echo "📝 CHANGED: $filename"
diff --color -u <(sed 's/x_reader\.fetchers/agent_reach.channels/g' "$upstream_file") "$local_file" | head -20
echo " ..."
echo ""
CHANGES=$((CHANGES + 1))
fi
done
if [ $CHANGES -eq 0 ]; then
echo "✅ All channels are up to date with upstream!"
else
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "$CHANGES file(s) have upstream changes."
echo ""
echo "To merge a specific file:"
echo " cp $TMPDIR/upstream/$UPSTREAM_DIR/FILENAME.py $LOCAL_DIR/FILENAME.py"
echo " sed -i 's/x_reader\\.fetchers/agent_reach.channels/g' $LOCAL_DIR/FILENAME.py"
echo ""
echo "Then review changes, run tests, and commit."
fi