FiWiManager/README.md

1.7 KiB
Raw Permalink Blame History

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 repos githooks/ directory:

git config --unset core.hooksPath

See also comments at the top of githooks/post-commit.