--- name: sporel-commit description: Commit + push all dirty local Sporel repos in one shot with a shared message, using each repo's own author. Use after making changes across multiple Sporel repos instead of looping git add/commit/push by hand. --- # Sporel Commit Commits every **dirty** local Sporel repo with one message and pushes the safe ones — replacing the manual `for repo; do cd; git add; git commit; git push` loop. ```bash /root/projects/gitea-devtools/sporel-commit.sh --dry-run "" # ALWAYS preview first /root/projects/gitea-devtools/sporel-commit.sh "" ``` ## How to use 1. **Always `--dry-run` first.** It lists which repos would be committed, how many files each, and which author it will use. Confirm that matches intent. 2. Run without `--dry-run` to commit + push. ## Behaviour - Author per repo = that repo's **own last-commit author** (Sporel repos are mixed Calic / Axel Meyer — never assume uniform); email always `axel.meyer@durania.net`. - `git add -A` then commit with the shared message. - Pushes only if the branch is ahead and **not** diverged. Diverged repos are committed locally but reported for manual rebase — never force-pushed. - CI triggers on tags (`v0.x.0`), not master pushes, so pushing WIP is safe. Exit `0` clean · `2` attention (diverged / no upstream) · `1` error. Address every ATTENTION line. For tagged releases use `/deploy` instead — this is for ordinary commits across many repos. Complements `/sporel-sync` (pull/push reconciliation, no commit).