fix(chv-muse-r12fix3-3): 回落审计 repo 记解析后的仓目录(P6 小项 A)
R12 复测 2 轻微缺口:回落审计行的 repo 字段为空串——fallback_warn 记的是调用方传的原始参数,而驱动与日常调用都是无参调用 (cd 仓 && chv-sync status)。单仓无损,多仓时审计分不清是哪 一仓回落。 修法:cmd_pull/cmd_push/cmd_status 三处都先调 resolve_repo 解析 仓目录,再以解析后的目录调 fallback_warn。解析失败即 die、不 留回落审计——同步本身已失败,没有“回落”可记(此前是先记审计 再解析,解析失败也留一行空 repo 审计)。 测试:ChvSyncDelegationTest——无参回落的 repo 即唯一仓目录 (不再是空串),显式给仓目录时 repo 即该目录。P6 模块 65 项全过。
This commit is contained in:
1 parent
7cba3c2b21
commit
7784be0657
3 files changed
+30
-6
No files matched your search
@@ -152,9 +152,13 @@ cmd_pull() {
|
||||
local rc=0
|
||||
try_worker pull "${1:-}" || rc=$?
|
||||
[ "$rc" != "42" ] && exit "$rc"
|
||||
fallback_warn pull "${1:-}"
|
||||
# round-12 修复轮第三轮(小项 A):先解析仓目录再记回落审计,
|
||||
# repo 字段记 resolve_repo 解析后的仓目录(无参调用时不再是
|
||||
# 空串,多仓审计才能分清是哪一仓回落)。解析失败即 die,
|
||||
# 不留回落审计——同步本身已失败,没有“回落”可记。
|
||||
local dir
|
||||
dir="$(resolve_repo "${1:-}")"
|
||||
fallback_warn pull "$dir"
|
||||
[ -z "$(git -C "$dir" status --porcelain)" ] \
|
||||
|| die "工作树有未提交改动,拒绝 pull(先 commit 或 stash)"
|
||||
git -C "$dir" pull --ff-only \
|
||||
@@ -166,9 +170,9 @@ cmd_push() {
|
||||
local rc=0
|
||||
try_worker push "${1:-}" || rc=$?
|
||||
[ "$rc" != "42" ] && exit "$rc"
|
||||
fallback_warn push "${1:-}"
|
||||
local dir
|
||||
dir="$(resolve_repo "${1:-}")"
|
||||
fallback_warn push "$dir"
|
||||
if git -C "$dir" rev-parse --abbrev-ref --symbolic-full-name '@{u}' >/dev/null 2>&1; then
|
||||
git -C "$dir" push \
|
||||
|| die "push 被拒绝(远端已有新提交,先 pull 再 push,不 --force)"
|
||||
@@ -183,9 +187,9 @@ cmd_status() {
|
||||
local rc=0
|
||||
try_worker status "${1:-}" || rc=$?
|
||||
[ "$rc" != "42" ] && exit "$rc"
|
||||
fallback_warn status "${1:-}"
|
||||
local dir
|
||||
dir="$(resolve_repo "${1:-}")"
|
||||
fallback_warn status "$dir"
|
||||
git -C "$dir" status -sb
|
||||
git -C "$dir" log --oneline -5
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user