#!/bin/bash
# 自动提交 OpenClaw 配置变更到 Gitea
# 每 6 小时执行一次，没有变更则不提交

REPO_DIR="/home/yangxuan/.openclaw"
cd "$REPO_DIR" || exit 1

# 检查是否有变更
# 检查是否有文件变更（忽略子模块 workspace）
CHANGES=$(git status --porcelain --ignore-submodules 2>/dev/null)
if [ -z "$CHANGES" ]; then
    # 无变更，静默退出
    exit 0
fi

# 有变更，记录日志
LOG_FILE="$REPO_DIR/.git/auto-commit.log"
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 检测到变更，开始提交..." >> "$LOG_FILE"

# 添加所有变更
git add -A 2>> "$LOG_FILE" || { echo "  git add 失败" >> "$LOG_FILE"; exit 1; }

# 提交（没有变更时 git commit 会失败，这正常）
git commit -m "auto: sync OpenClaw config $(date '+%Y-%m-%d %H:%M')" 2>> "$LOG_FILE" || {
    echo "  无新变更需要提交" >> "$LOG_FILE"
    exit 0
}

# 推送到 Gitea（分支名 314）
git push origin 2>> "$LOG_FILE" && echo "  推送成功" >> "$LOG_FILE" || echo "  推送失败" >> "$LOG_FILE"

exit 0
