fresh-repo.sh: IGNEUM_NEUTRAL_IDENTITIES keeps a neutral identity as it is (the public export's "Igneum contributors"), excepted from the mailmap and the verdict
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
fa82522d45
commit
c8358a1a0d
1 changed files with 5 additions and 2 deletions
|
|
@ -87,7 +87,10 @@ TARGET_EMAIL="$STANDING_ID+$TARGET_LOGIN@users.noreply.github.com"
|
|||
TARGET_IDENT="$TARGET_LOGIN <$TARGET_EMAIL>"
|
||||
|
||||
# every other identity: "name|email" pairs (author and committer)
|
||||
PERSONAL_PAIRS="$(git log --all --format='%an|%ae%n%cn|%ce' | grep -v -F -e "|$STANDING_EMAIL" -e "|$TARGET_EMAIL" | sort -u || true)" # fixed strings: the addresses carry a +, a quantifier under -E (dry run 3, 7 Oct 2026: the target's address was read as personal and matched every rewritten line) # never the standing or the target address (7 Oct 2026: the target's own commits read as personal and every rewritten author line then counted as a hit)
|
||||
# IGNEUM_NEUTRAL_IDENTITIES: "name|email" pairs (one per line) that are neither personal nor the standing login and stay as they are, such as
|
||||
# the public export's "Igneum contributors|hello@igneum.network" (8 October 2026); without it every other identity is mailmapped to the target
|
||||
NEUTRAL="${IGNEUM_NEUTRAL_IDENTITIES:-}"
|
||||
PERSONAL_PAIRS="$(git log --all --format='%an|%ae%n%cn|%ce' | grep -v -F -e "|$STANDING_EMAIL" -e "|$TARGET_EMAIL" | { if [ -n "$NEUTRAL" ]; then grep -v -x -F -f <(printf '%s\n' "$NEUTRAL"); else cat; fi; } | sort -u || true)" # fixed strings: the addresses carry a +, a quantifier under -E (dry run 3, 7 Oct 2026: the target's address was read as personal and matched every rewritten line) # never the standing or the target address (7 Oct 2026: the target's own commits read as personal and every rewritten author line then counted as a hit)
|
||||
PERSONAL_EMAILS="$(printf '%s\n' "$PERSONAL_PAIRS" | awk -F'|' 'NF==2{print $2}' | sort -u)"
|
||||
PERSONAL_NAMES="$(printf '%s\n' "$PERSONAL_PAIRS" | awk -F'|' 'NF==2 && $1 ~ / /{print $1}' | grep -v -E "^($STANDING_LOGIN|$TARGET_LOGIN)$" | sort -u || true)" # a name has a space; a login is not a name
|
||||
# the founder's first name, surname and second login from the encoded list (rows 1 to 3, sample column), so the rules never depend on
|
||||
|
|
@ -244,7 +247,7 @@ must_zero "identity lines in any blob" "$(scan_blobs "$IDENT")"
|
|||
must_zero "identity lines in commit metadata" "$(scan_meta "$IDENT")"
|
||||
must_zero "stamps not +0000" "$(git log --all --format='%ad%n%cd' --date=raw | grep -vc ' +0000$' || true)"
|
||||
must_zero "commits touching the dropped files" "$(git log --all --format=%H -- "${DROPPED[@]}" | sort -u | wc -l | tr -d ' ')"
|
||||
must_zero "identities other than $TARGET_IDENT" "$(git log --all --format='%an <%ae>%n%cn <%ce>' | sort -u | grep -vcF "$TARGET_IDENT" || true)"
|
||||
must_zero "identities other than $TARGET_IDENT${NEUTRAL:+ (neutral ones excepted)}" "$(git log --all --format='%an <%ae>%n%cn <%ce>' | sort -u | grep -vF "$TARGET_IDENT" | { if [ -n "$NEUTRAL" ]; then grep -v -x -F -f <(printf '%s\n' "$NEUTRAL" | sed -E 's/\|/ </; s/$/>/'); else cat; fi; } | grep -c . || true)"
|
||||
[ -n "$NEW_LOGIN" ] && must_zero "old login $STANDING_LOGIN in any blob" "$(scan_blobs "$RULES/login.pl")"
|
||||
if [ -n "$PUBLIC_CLAUDE" ]; then
|
||||
for ref in $(git for-each-ref --format='%(refname)' refs/heads | head -3); do
|
||||
|
|
|
|||
Loading…
Reference in a new issue