diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-20 09:05:39 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-20 09:05:39 -0500 |
| commit | 1815b1fc23aef6c95f8580aae476f98114508423 (patch) | |
| tree | 58d7bffe406ceae144cd73555d0fa15ec64ec9d8 /scripts/games.sh | |
| parent | fd8e5acb71ef135d09ab8c4355903a1a35d01d1a (diff) | |
| download | archsetup-1815b1fc23aef6c95f8580aae476f98114508423.tar.gz archsetup-1815b1fc23aef6c95f8580aae476f98114508423.zip | |
aix: synchronous fetch + git-status annotations + auto-pull if clean
Adds multi-machine sync awareness to the session launcher.
Before fzf:
- Fetches all candidate repos in parallel (capped at 6 concurrent)
- Annotates each entry with git status: (↑N ↓N dirty), (no upstream)
- Clean repos show no annotation
When launching a window:
- If working tree is clean, has upstream, is behind (not ahead): pull
- Otherwise: open window as-is, user handles any sync manually
Design choices:
- Fetches are synchronous — accurate status at the cost of a brief wait
on session start. Parallel execution keeps it fast (~1-2s for 22 repos).
- Pull is --ff-only — never merges, never creates merge commits in aix
- Diverged repos (ahead AND behind) trigger no auto-action; user decides
- No stash/pop dance — unreliable in multi-project batches; prefer
explicit awareness via annotation
Primary use case: moving between laptop and desktop. Wrap-it-up's
always-push ensures remote is current at session end; this ensures
local is current at next session start.
Diffstat (limited to 'scripts/games.sh')
0 files changed, 0 insertions, 0 deletions
