#!/bin/bash
set -euo pipefail

GIT_HOME="${HOME}/git"

for dir in "${GIT_HOME}"/*/ "${HOME}/Dotfiles"; do
  if [ -d "${dir}/.git" ]; then
    repo=$(basename "${dir}")
    remote=$(git -C "${dir}" remote get-url origin 2>/dev/null || true)
    case "${remote}" in
      *schmeeve*)
        ;;
      *)
        echo "  Skipping (not your repo: ${remote})"
        continue
        ;;
    esac
    echo "=== ${repo} ==="
    cd "${dir}"
    if [ -n "$(git status --porcelain 2>/dev/null)" ]; then
      echo "  Changes found → committing and pushing..."
      git commit -a -m "auto: $(date '+%Y-%m-%d %H:%M')" || echo "  Nothing to commit (maybe no tracked files changed)"
      git push
    else
      echo "  Clean."
    fi
  fi
done
