1.7 KiB
FiWiManager
Fi-Wi USB power-control hubs, fiber_map.json, SSH remotes, and related tooling. Deeper detail lives under docs/ (for example docs/fiwi-cli.md and docs/fiwi-design.md).
Git hooks: post-commit push and remote pull
You can use a post-commit hook that, after each commit, runs git push for the current branch to origin, then SSH to another machine (e.g. a lab Pi) and runs git pull in a clone there.
Install once per clone
./scripts/install-git-hooks.sh
That sets core.hooksPath to githooks/ so Git uses the tracked hook in this repository.
Enable (opt-in)
The hook does nothing unless you set:
export FIWI_POST_COMMIT_SYNC=1
export FIWI_POST_COMMIT_REMOTE='user@host'
export FIWI_POST_COMMIT_REMOTE_PATH='~/Code/FiWiManager' # optional; default shown
Put those in your shell profile if you want them every session.
| Variable | Meaning |
|---|---|
FIWI_POST_COMMIT_SYNC |
Must be 1 for the hook to run. |
FIWI_POST_COMMIT_REMOTE |
SSH target for git pull (e.g. rjmcmahon@192.168.1.39). Required when SYNC=1; if empty, the hook skips both push and pull and prints a message. |
FIWI_POST_COMMIT_REMOTE_PATH |
Directory of the FiWiManager clone on that host. Paths starting with ~/ are turned into $HOME/… on the remote. |
Skip once: FIWI_POST_COMMIT_SYNC=0 git commit …
SSH: the hook uses ssh -o BatchMode=yes, so it expects non-interactive auth (keys).
Disable hooks from this repo’s githooks/ directory:
git config --unset core.hooksPath
See also comments at the top of githooks/post-commit.