#!/bin/bash
# Git仓库初始化脚本

set -e

echo "========================================="
echo "Git小说同步系统初始化"
echo "========================================="

# 配置
NOVEL_PATH="/root/.openclaw/workspace/tomato-novel/books/末日重生-开局囤货十亿物资"
GIT_REPO_NAME="novel-morizhongsheng"
GIT_REMOTE_URL="https://gitea.nevadalice.top:226/liyuchen/$GIT_REPO_NAME.git"
GIT_USERNAME="liyuchen"
GIT_PASSWORD="liyuchen"

echo "📁 小说路径: $NOVEL_PATH"
echo "🌐 Git仓库: $GIT_REMOTE_URL"

# 检查小说路径
if [ ! -d "$NOVEL_PATH" ]; then
    echo "❌ 小说路径不存在: $NOVEL_PATH"
    exit 1
fi

# 创建Git仓库目录
GIT_REPO_DIR="/root/.openclaw/workspace/git_repos/$GIT_REPO_NAME"
echo "📁 创建Git仓库目录: $GIT_REPO_DIR"
mkdir -p "$GIT_REPO_DIR"

# 进入小说目录
cd "$NOVEL_PATH"

# 初始化Git仓库
echo "🔄 初始化Git仓库..."
git init "$GIT_REPO_DIR"

# 复制小说文件到Git仓库
echo "📋 复制小说文件..."
rsync -av --exclude='backup_*' --exclude='*_backup*' --exclude='*_report*' --exclude='*_fix*' --exclude='*_修复*' --exclude='*_质检*' --exclude='.git' . "$GIT_REPO_DIR/"

# 创建.gitignore文件
echo "📄 创建.gitignore..."
cat > "$GIT_REPO_DIR/.gitignore" << 'EOF'
# 备份文件
backup_*
*_backup*
*_report*
*_fix*
*_修复*
*_质检*

# 临时文件
*.tmp
*.temp
*.log

# 系统文件
.DS_Store
Thumbs.db

# IDE文件
.vscode/
.idea/
*.swp

# 大文件
*.zip
*.tar
*.gz
EOF

# 创建README.md
echo "📖 创建README.md..."
cat > "$GIT_REPO_DIR/README.md" << 'EOF'
# 《末日重生：开局囤货十亿物资》

## 📖 小说简介
- **标题**: 末日重生：开局囤货十亿物资
- **类型**: 都市异能、末世囤货、重生爽文
- **目标章节**: 200章
- **当前进度**: 22/200章 (11%)
- **总字数**: 约80,000字
- **创作平台**: 番茄小说

## 📚 章节列表
1. 第1章：冰点记忆
2. 第2章：暗流
3. 第3章：仓鼠行动
4. 第4章：粮草先行
5. 第5章：铁壁
6. 第6章：焊花
7. 第7章：骨刺
8. 第8章：暗流（2）
9. 第9章：对峙
10. 第10章：倒计时
11. 第11章：筹码
12. 第12章：质询
13. 第13章：铁锈
14. 第14章：断水
15. 第15章：昏沉
16. 第16章：电话
17. 第17章：煎熬
18. 第18章：钢渣
19. 第19章：赴约
20. 第20章：充电
21. 第21章：焊火
22. 第22章：抉择

## 📁 项目结构
```
末日重生-开局囤货十亿物资/
├── README.md                    # 项目说明
├── book.json                    # 书籍元数据
├── chapters/                    # 章节文件（22个）
├── story/                       # 故事设定
├── config_backup/               # 配置备份
├── inkos_config.json           # InkOS配置
└── index.json                  # 章节索引
```

## 🔄 同步状态
- **最后同步**: $(date '+%Y-%m-%d %H:%M:%S')
- **同步方式**: 自动Git同步系统
- **仓库地址**: https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng

## 📈 创作统计
- **总章节**: 22章
- **总字数**: 约80,000字
- **平均每章**: 约3,600字
- **创作开始**: 2026-03-29
- **最新更新**: 2026-03-30

## 🚀 如何运行
1. 安装Git
2. 克隆仓库: `git clone https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng.git`
3. 查看章节: 打开 `chapters/` 目录

## 📝 版权说明
© 2026 唐天洛. 保留所有权利。
本作品为原创小说，仅供学习交流使用。
EOF

# 进入Git仓库目录
cd "$GIT_REPO_DIR"

# 添加远程仓库
echo "🌐 添加远程仓库..."
git remote add origin "$GIT_REMOTE_URL"

# 设置Git配置
echo "⚙️ 设置Git配置..."
git config user.name "$GIT_USERNAME"
git config user.email "$GIT_USERNAME@example.com"
git config credential.helper 'store --file ~/.git-credentials'

# 保存Git凭据
echo "https://$GIT_USERNAME:$GIT_PASSWORD@gitea.nevadalice.top:226" > ~/.git-credentials
chmod 600 ~/.git-credentials

# 添加所有文件
echo "📤 添加文件到Git..."
git add .

# 提交初始版本
echo "💾 提交初始版本..."
git commit -m "初始提交: 《末日重生：开局囤货十亿物资》完整项目

包含:
- 全部22章内容
- 书籍元数据配置
- 故事设定文件
- 项目说明文档

提交时间: $(date '+%Y-%m-%d %H:%M:%S')
总章节: 22
总字数: 约80,000字"

# 尝试推送到远程
echo "🚀 推送到远程仓库..."
if git push -u origin main 2>/dev/null || git push -u origin master 2>/dev/null; then
    echo "✅ Git仓库初始化完成！"
    echo "🌐 仓库地址: $GIT_REMOTE_URL"
else
    echo "⚠️  推送失败，可能是远程仓库不存在"
    echo "📋 请先在Gitea创建仓库: $GIT_REPO_NAME"
    echo "📁 本地仓库已准备就绪: $GIT_REPO_DIR"
fi

# 创建同步脚本
echo "🔧 创建同步脚本..."
cat > "$GIT_REPO_DIR/sync_to_git.sh" << 'EOF'
#!/bin/bash
# 同步小说到Git仓库

set -e

echo "========================================="
echo "同步小说到Git仓库"
echo "========================================="

# 配置
NOVEL_PATH="/root/.openclaw/workspace/tomato-novel/books/末日重生-开局囤货十亿物资"
GIT_REPO_DIR="/root/.openclaw/workspace/git_repos/novel-morizhongsheng"
LOG_FILE="/root/.openclaw/workspace/git_sync_system/sync_log.txt"

# 记录日志
log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}

log "开始同步..."

# 检查目录
if [ ! -d "$NOVEL_PATH" ]; then
    log "❌ 小说路径不存在: $NOVEL_PATH"
    exit 1
fi

if [ ! -d "$GIT_REPO_DIR" ]; then
    log "❌ Git仓库目录不存在: $GIT_REPO_DIR"
    exit 1
fi

# 进入小说目录
cd "$NOVEL_PATH"

# 检查是否有新内容
log "📊 检查新内容..."
CHAPTER_COUNT=$(find chapters -name "*.md" | grep -v backup | grep -v report | grep -v fix | grep -v 修复 | grep -v 质检 | wc -l)
log "发现 $CHAPTER_COUNT 个章节文件"

# 进入Git仓库
cd "$GIT_REPO_DIR"

# 拉取最新更改
log "📥 拉取最新更改..."
git pull origin main 2>/dev/null || git pull origin master 2>/dev/null

# 同步文件
log "🔄 同步文件..."
rsync -av --delete \
    --exclude='backup_*' \
    --exclude='*_backup*' \
    --exclude='*_report*' \
    --exclude='*_fix*' \
    --exclude='*_修复*' \
    --exclude='*_质检*' \
    --exclude='.git' \
    "$NOVEL_PATH/" .

# 检查是否有更改
if git diff --quiet; then
    log "📭 没有新的更改"
    exit 0
fi

# 添加所有更改
log "📤 添加更改..."
git add .

# 提交更改
COMMIT_MSG="更新: $(date '+%Y-%m-%d %H:%M:%S')

更新内容:
- 章节文件更新
- 可能的配置更新
- 自动同步系统更新

章节数: $CHAPTER_COUNT
同步时间: $(date '+%Y-%m-%d %H:%M:%S')"

log "💾 提交更改..."
git commit -m "$COMMIT_MSG"

# 推送到远程
log "🚀 推送到远程仓库..."
if git push origin main 2>/dev/null || git push origin master 2>/dev/null; then
    log "✅ 同步完成！"
    log "🌐 仓库地址: https://gitea.nevadalice.top:226/liyuchen/novel-morizhongsheng"
else
    log "❌ 推送失败"
    exit 1
fi

echo "========================================="
echo "🎉 同步完成"
echo "========================================="
EOF

chmod +x "$GIT_REPO_DIR/sync_to_git.sh"

# 创建定时同步脚本
echo "⏰ 创建定时同步配置..."
cat > /root/.openclaw/workspace/git_sync_system/setup_cron.sh << 'EOF'
#!/bin/bash
# 设置Git同步定时任务

echo "设置Git同步定时任务..."

# 备份现有crontab
CRON_BACKUP="/root/.openclaw/workspace/git_sync_system/crontab.backup.$(date +%Y%m%d%H%M%S)"
crontab -l > "$CRON_BACKUP" 2>/dev/null || true
echo "✅ 现有crontab已备份到: $CRON_BACKUP"

# 添加定时任务
(crontab -l 2>/dev/null | grep -v "novel_git_sync"; echo "
# =========================================
# 小说Git同步系统定时任务
# =========================================

# 每小时同步一次
0 * * * * /root/.openclaw/workspace/git_repos/novel-morizhongsheng/sync_to_git.sh >> /root/.openclaw/workspace/git_sync_system/hourly.log 2>&1

# 每天凌晨3点强制同步
0 3 * * * cd /root/.openclaw/workspace/git_repos/novel-morizhongsheng && git add . && git commit -m '每日自动提交' && git push >> /root/.openclaw/workspace/git_sync_system/daily.log 2>&1

# =========================================
") | crontab -

echo "✅ 定时任务设置完成"
echo "📊 当前定时任务:"
crontab -l | grep -A 5 "小说Git同步系统"
EOF

chmod +x /root/.openclaw/workspace/git_sync_system/setup_cron.sh

echo "========================================="
echo "🎉 Git同步系统初始化完成！"
echo "========================================="
echo ""
echo "📋 下一步操作:"
echo "1. 登录Gitea创建仓库: $GIT_REPO_NAME"
echo "2. 运行同步脚本: $GIT_REPO_DIR/sync_to_git.sh"
echo "3. 设置定时任务: /root/.openclaw/workspace/git_sync_system/setup_cron.sh"
echo ""
echo "📁 本地仓库: $GIT_REPO_DIR"
echo "🌐 远程仓库: $GIT_REMOTE_URL"
echo "🔧 同步脚本: $GIT_REPO_DIR/sync_to_git.sh"
echo "========================================="