SPB Git forge

spb/ka-guardian

Public
26commits 1branches 0releases
4.5 MBsize
maindefault branch
19 days agolast push
Python 57.1% Shell 13.8% CSS 12% JavaScript 10% HTML 7.2%
1.3 KB · 35 lines shellscript
Raw Blame History
1#!/bin/zsh2# ============================================3# KA pousseur — pousse vers spbgit les commits en attente des repos Ka du nœud.4# Chaîne 100 % binaires Apple (launchd → zsh → /usr/bin/git → /usr/bin/ssh) :5# contourne macOS 26 Local Network Privacy, qui bloque les `git push` lancés6# par les missions Claude (descendants du runner python homebrew).7# Repos surveillés : un chemin par ligne dans ~/.ka-pousseur-repos.8# Push SIMPLE uniquement (jamais de force) : un non-fast-forward est loggé,9# jamais résolu d'autorité.10# ============================================11export PATH=/usr/bin:/bin:/usr/sbin:/sbin12SPOOL=~/ka-guardian-spool13LOG=$SPOOL/pousseur.log14REPOS_FILE=~/.ka-pousseur-repos15mkdir -p $SPOOL1617while true; do18  if [[ -f $REPOS_FILE ]]; then19    while IFS= read -r dir; do20      [[ -z $dir || $dir == \#* ]] && continue21      d=${dir/#\~/$HOME}22      [[ -d $d/.git ]] || continue23      ahead=$(/usr/bin/git -C "$d" rev-list --count origin/main..main 2>/dev/null)24      if [[ -n $ahead && $ahead -gt 0 ]]; then25        if /usr/bin/git -C "$d" push origin main >>$LOG 2>&1; then26          echo "$(date '+%F %T') poussé $ahead commit(s): $d" >>$LOG27        else28          echo "$(date '+%F %T') ÉCHEC push ($ahead en attente): $d" >>$LOG29        fi30      fi31    done <$REPOS_FILE32  fi33  sleep 30034done35