#!/bin/sh # G8 看板编号全域唯一门禁:主板+全部归档中 "数字. " 条目编号必须恰好出现一次(历史不重) # 新写撞历史编号即拒;恢复搬回场景须同步删归档行(搬回本该如此),总数不变则自然放行 git diff --cached --name-only -- 'docs/todo.md' 'docs/todo-归档*' | grep -q . || exit 0 ids=$( { git show ":docs/todo.md" 2>/dev/null for f in docs/todo-归档*.md; do [ -f "$f" ] && git show ":$f" 2>/dev/null; done } | grep -E '^[0-9]+\. \[' | cut -d. -f1) dups=$(printf '%s\n' "$ids" | sort | uniq -d) if [ -n "$dups" ]; then echo "✗ [G8] 看板编号重复(历史须全域唯一): $(printf '%s ' $dups)" echo " 写板前先 grep 查重(主板+归档);恢复搬回须同步删归档行" exit 1 fi exit 0