- antigravity/node-tls-proxy/ ← 原 tools/node-tls-proxy - antigravity/firewall/ ← 原 tools/firewall - antigravity/maintenance/ ← 原 tools/maintenance - repository/http_upstream_antigravity.go ← Node.js 代理 3 个方法(原在 http_upstream.go) - service/identity_service_antigravity.go ← ApplyDefaultFingerprintOverrides + NewIdentityServiceWithSalt - service/account_antigravity.go ← Gemini TLS 指纹扩展函数 对上游文件 http_upstream.go 的钩子调用精简为 2 处 if 块(共 14 行) 对上游文件 account.go Gemini 分支精简为 1 行函数调用 便于 upstream rebase 时快速识别和保留自定义改动
31 lines
1021 B
Bash
Executable File
31 lines
1021 B
Bash
Executable File
#!/usr/bin/env bash
|
||
# save-patches.sh — 将 Antigravity 自定义改动导出为 patch 文件
|
||
# 用法: ./tools/scripts/save-patches.sh [输出目录]
|
||
set -euo pipefail
|
||
|
||
REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||
OUTPUT_DIR="${1:-$REPO_ROOT/tools/patches}"
|
||
UPSTREAM="origin/main"
|
||
|
||
cd "$REPO_ROOT"
|
||
|
||
# 检查是否有新的 upstream commits
|
||
DIVERGED=$(git log --oneline "$UPSTREAM"..HEAD 2>/dev/null | wc -l | tr -d ' ')
|
||
if [ "$DIVERGED" -eq 0 ]; then
|
||
echo "[save-patches] 没有领先 upstream 的 commits,无需保存。"
|
||
exit 0
|
||
fi
|
||
|
||
mkdir -p "$OUTPUT_DIR"
|
||
|
||
# 导出 patches
|
||
git format-patch "$UPSTREAM"..HEAD --output-directory "$OUTPUT_DIR" --no-stat
|
||
|
||
COUNT=$(ls "$OUTPUT_DIR"/*.patch 2>/dev/null | wc -l | tr -d ' ')
|
||
echo "[save-patches] ✅ 已导出 $COUNT 个 patch 到 $OUTPUT_DIR/"
|
||
echo ""
|
||
echo "恢复方法(在全新 upstream checkout 上):"
|
||
echo " git am $OUTPUT_DIR/*.patch"
|
||
echo " # 或逐一应用:"
|
||
echo " for p in $OUTPUT_DIR/*.patch; do git am \"\$p\" || git am --skip; done"
|