settings.json 由 template 渲染后与仓库版本不同, 导致 git pull --rebase 报 unstaged changes 失败。 pull 前 stash、pull 后 pop 恢复。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.9 KiB
Batchfile
46 lines
1.9 KiB
Batchfile
@echo off
|
|
chcp 65001 > nul
|
|
cd /d "%~dp0"
|
|
:: v3.1.1 架构: 更新 .bat 仅做 git pull, 完成后弹 GUI 让用户决定是否立即启动.
|
|
:: 启动 claude 由独立的 启动Bookworm.lnk → pwsh + bw-launch.ps1 完成 (1 跳直链)
|
|
|
|
echo.
|
|
echo Bookworm 配置同步
|
|
echo ============================================
|
|
echo.
|
|
|
|
set HAS_FAIL=0
|
|
|
|
:: 同步 bookworm-boot 仓库 (本目录)
|
|
echo [1/2] 同步启动器目录 (bookworm-boot)...
|
|
git pull --rebase 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [!] bookworm-boot git pull 失败 ^(不影响启动 lnk^)
|
|
set HAS_FAIL=1
|
|
)
|
|
|
|
:: 同步 ~/.claude 配置仓库 (Skill/hook/agents)
|
|
echo.
|
|
echo [2/2] 同步 Claude 配置 (.claude/)...
|
|
git -C "%USERPROFILE%\.claude" stash -q 2>nul
|
|
git -C "%USERPROFILE%\.claude" pull --rebase 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [!] .claude git pull 失败 ^(不影响启动 lnk^)
|
|
set HAS_FAIL=1
|
|
)
|
|
git -C "%USERPROFILE%\.claude" stash pop -q 2>nul
|
|
|
|
echo.
|
|
echo ============================================
|
|
if %HAS_FAIL% equ 0 (
|
|
echo [OK] 所有同步完成
|
|
) else (
|
|
echo [!] 部分同步失败 ^(详见上方日志, 启动仍可正常使用^)
|
|
)
|
|
echo ============================================
|
|
|
|
:: v3.1.1 (闭合 L6): 完成后 GUI 询问是否立即启动 Claude (闭合 "更新完了不知道下一步")
|
|
:: 用 PowerShell 弹 MessageBox YesNo, Yes → 触发桌面启动 lnk; No → 直接退出
|
|
where pwsh >nul 2>nul && set "PSH=pwsh" || set "PSH=powershell"
|
|
%PSH% -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; $r = [System.Windows.Forms.MessageBox]::Show('配置同步完成. 是否立即启动 Bookworm Claude?', 'Bookworm 同步完成', 'YesNo', 'Question'); if ($r -eq 'Yes') { $lnk = Join-Path ([Environment]::GetFolderPath('Desktop')) '启动Bookworm.lnk'; if (Test-Path $lnk) { Start-Process $lnk } else { Write-Host 'lnk 缺失, 请重跑 Bookworm-Setup.exe' -ForegroundColor Yellow; pause } }"
|