fix(retract): preserve non-major module tag prefixes (#4886)
Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
+11
-8
@@ -114,11 +114,17 @@ for b in V6 V5 V4 V0; do
|
||||
done
|
||||
|
||||
# ── Sanity checks ───────────────────────────────────────────────────────────
|
||||
module_relative_path() {
|
||||
local path="$1"
|
||||
if [[ "$path" =~ ^go-micro\.dev/v[0-9]+/(.+)$ ]]; then
|
||||
printf '%s\n' "${BASH_REMATCH[1]}"
|
||||
else
|
||||
printf '%s\n' "${path#go-micro.dev/}"
|
||||
fi
|
||||
}
|
||||
|
||||
for p in "${PHANTOM_PATHS[@]}"; do
|
||||
case "$p" in
|
||||
go-micro.dev/v[0-9]*/*) rel="${p#go-micro.dev/v[0-9]*/}" ;;
|
||||
*) rel="${p#go-micro.dev/}" ;;
|
||||
esac
|
||||
rel="$(module_relative_path "$p")"
|
||||
[[ -f "$rel/go.mod" ]] && { echo "ERROR: $p has go.mod on master — not a phantom"; exit 1; }
|
||||
done
|
||||
|
||||
@@ -203,10 +209,7 @@ for base_info in "v6:${#BASES_V6[@]}" "v5:${#BASES_V5[@]}" "v4:${#BASES_V4[@]}"
|
||||
: > "$tmpdir/tags"
|
||||
n=0
|
||||
for p in "${ref[@]}"; do
|
||||
case "$p" in
|
||||
go-micro.dev/v[0-9]*/*) rel="${p#go-micro.dev/v[0-9]*/}" ;;
|
||||
*) rel="${p#go-micro.dev/}" ;;
|
||||
esac
|
||||
rel="$(module_relative_path "$p")"
|
||||
tag="${rel}/${RETRACT_MAX}"
|
||||
if ! valid_tag_ref "$tag"; then
|
||||
echo " skip (invalid tag name): $tag" >&2
|
||||
|
||||
Reference in New Issue
Block a user