Commit Graph

3 Commits

Author SHA1 Message Date
LyAhn b80713b334 feat(sync): replace hub with an internal branch engine
Fetch and prune the preferred remote, then reconcile every local branch
independently. Fast-forward branches that are behind, preserve divergent work,
and delete a branch only when its configured upstream is gone and its commits
are already contained by the remote default branch.

Keep dirty repositories eligible while protecting the active branch and refs
checked out in linked worktrees. Preserve the previous all-clean policy behind
--strict, expose structured per-branch results, add real bare-remote integration
tests, and retain the upstream MIT notice for the adapted hub sync behavior.
2026-09-06 19:41:53 +01:00
LyAhn 9bcaab4dc0 feat(tui): add interactive repository selection
Introduce a Bubble Tea control deck with eligible repositories preselected,
keyboard navigation, responsive paging, and detailed explanations for blocked
worktrees.

Require confirmation before synchronization, allow refreshing the workspace,
and retain each repository's latest hub output without changing the existing
CLI and JSON workflows.
2026-09-06 18:34:05 +01:00
LyAhn 295d694d78 feat(cli): safely sync repositories across a workspace
Walk a workspace for Git repositories, including intentionally nested repos,
while pruning dependency caches and build output directories.

Inspect each branch, remote, operation state, and porcelain status before
running hub sync. Recheck safety immediately before mutation, keep nested
repositories from falsely dirtying their parent, and support concurrency,
exclusions, strict mode, timeouts, JSON output, and explicit confirmation.
2026-09-06 18:29:50 +01:00