- Все claude-файлы перенесены в claude/ (uclaude_updater.py, скрипты, config) - claude/README.md с инструкцией для Claude Code - Корневой README — общий для всех продуктов (claude, codex, gemini, qwen, antigravity) - Node.js v24.13+ автоустановка через nodesource - Sparse checkout: клиент скачивает только latest версию cli.js Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
1.0 KiB
Bash
Executable File
29 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# UClaude Updater — automatic Claude Code patch updater
|
|
# Usage: sudo bash claude/uclaude_update.sh [--check] [--force] [--settings-only]
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
cd "$REPO_ROOT"
|
|
|
|
# Fetch latest commit (shallow — no history)
|
|
git fetch --depth 1 origin master 2>/dev/null && git reset --hard origin/master 2>/dev/null || git pull --quiet 2>/dev/null || true
|
|
|
|
# Update sparse checkout to include latest version directory
|
|
if [ -f claude/releases/index.json ] && git config core.sparseCheckout 2>/dev/null | grep -q true; then
|
|
VER=$(python3 -c "import json; print(json.load(open('claude/releases/index.json'))['latest'])" 2>/dev/null)
|
|
if [ -n "$VER" ]; then
|
|
git sparse-checkout add "claude/releases/v${VER}" 2>/dev/null
|
|
git checkout 2>/dev/null || true
|
|
fi
|
|
fi
|
|
|
|
# Run updater
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
python3 claude/uclaude_updater.py "$@"
|
|
else
|
|
echo "Root privileges required. Re-running with sudo..."
|
|
sudo python3 claude/uclaude_updater.py "$@"
|
|
fi
|