#!/bin/sh # 比较本仓 deps 与嵌套在 deps/agent-native、deps/agent-intent 里的同名子模块 gitlink。 # 编译只用本仓 go.mod 的 replace;这里防止多份副本锁到不同提交。 set -eu cd "$(dirname "$0")/.." fail=0 compare() { label=$1 outer=$2 parent=$3 inner=$4 recorded=$(git rev-parse ":$outer") nested=$(git -C "$parent" rev-parse "HEAD:$inner") if [ "$recorded" != "$nested" ]; then echo "mismatch $label outer=$recorded nested=$nested" >&2 fail=1 else echo "ok $label $recorded" fi } for parent in deps/agent-native deps/agent-intent; do compare "development-guidelines@$parent" deps/development-guidelines "$parent" deps/development-guidelines compare "error-code-system@$parent" deps/error-code-system "$parent" deps/error-code-system compare "logging-system@$parent" deps/logging-system "$parent" deps/logging-system done for path in deps/agent-native deps/agent-intent; do recorded=$(git rev-parse ":$path") actual=$(git -C "$path" rev-parse HEAD) if [ "$recorded" != "$actual" ]; then echo "mismatch $path recorded=$recorded HEAD=$actual" >&2 fail=1 else echo "ok $path $recorded" fi done exit "$fail"