fix(gitea): 寫入前先確認

This commit is contained in:
Jeffery
2026-08-28 17:55:51 +08:00
parent e464047774
commit d4466dfba8
6 changed files with 67 additions and 10 deletions
+9
View File
@@ -31,6 +31,9 @@
set -eu
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
confirm_write() {
sh "$script_dir/write-confirm.sh" "$1" "$2"
}
resolve_wiki_repo() { # TYPE -> JSC_WIKI_REPO_{TYPE} -> JSC_WIKI_REPO
type=$(printf '%s' "${1:?TYPE required}" | tr a-z A-Z)
@@ -190,6 +193,7 @@ sys.stdout.write(json.load(sys.stdin).get("html_url") or "")
printf '%s\n' "$url" ;;
wiki-put)
or="${1:?owner/repo required}"; page="${2:?page required}"; file="${3:?content file required}"
confirm_write "寫入 wiki 頁" "$page"
tmp=$(mktemp)
python3 -c '
import json,sys,base64
@@ -207,6 +211,7 @@ print(json.dumps({"title":title,"content_base64":base64.b64encode(content).decod
pr-create)
or="${1:?owner/repo required}"; head="${2:?head required}"; base="${3:?base required}"
title="${4:?title required}"; body_file="${5:?body file required}"
confirm_write "建立 PR" "$or#$title"
tmp=$(mktemp)
python3 -c '
import json,sys
@@ -249,6 +254,7 @@ sys.stdout.write(p.get("body") or "")
or="${1:?owner/repo required}"; idx="${2:?pr index required}"
title="${3:?title required}"; body_file="${4:?body file required}"
[ -f "$body_file" ] || { echo "找不到描述檔: $body_file" >&2; exit 2; }
confirm_write "更新 PR" "$or#$idx"
tmp=$(mktemp)
python3 -c '
import json,sys
@@ -301,6 +307,7 @@ for c in d:
kind="${3:?kind required}"; cid="${4:?comment id required}"; body_file="${5:?body file required}"
[ -f "$body_file" ] || { echo "找不到回覆檔: $body_file" >&2; exit 2; }
case "$kind" in issue|review|inline) ;; *) echo "kind must be issue, review, or inline" >&2; exit 2 ;; esac
confirm_write "回覆留言" "$or#$idx/$kind#$cid"
tmp=$(mktemp)
python3 -c '
import json,sys
@@ -320,6 +327,7 @@ print(json.dumps({"body":open(sys.argv[1],encoding="utf-8").read()}))
pr-depend)
or="${1:?owner/repo required}"; idx="${2:?pr index required}"
dep_or="${3:?dep owner/repo required}"; dep_idx="${4:?dep index required}"
confirm_write "設定 PR 依賴" "$or#$idx -> $dep_or#$dep_idx"
tmp=$(mktemp)
python3 -c '
import json,sys
@@ -333,6 +341,7 @@ print(json.dumps({"owner":o,"repo":r,"index":int(sys.argv[2])}))
echo "OK $or#$idx depends on $dep_or#$dep_idx" ;;
repo-set)
or="${1:?owner/repo required}"; desc="${2:?description required}"; site="${3:-}"
confirm_write "更新 repo 資訊" "$or"
tmp=$(mktemp)
python3 -c '
import json,sys