Documentation
¶
Overview ¶
Package fleetsync decides and performs the sync action for a single repo: clone or pull an active repo, or remove/keep an archived one's local clone. It has no TUI or terminal output of its own — callers (e.g. the wb sync worker pool) drive it and render results.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Result ¶
Result is the outcome of syncing one repo.
func Sync ¶
Sync reconciles a single repo's local clone with its GitHub state: clone if missing, pull if present and clean, skip if the working tree is dirty. For archived repos: remove the local clone if it is safe to (clean, no stash, nothing unpushed), otherwise keep it and report why. Forks and repos not owned by the authenticated user or their orgs (repo.Remote == false) are left untouched (NoOp). Repos marked with `wb repo ignore` are left untouched too (SkippedIgnored), including archived ones. In dryRun mode no mutation happens; Status still reports what would be done.
type Status ¶
type Status int
Status is the outcome fleetsync.Sync took for a single repo.
const ( Cloned Status = iota Pulled SkippedDirty RemovedArchived KeptArchived AbsentArchived NoOp Failed // SkippedIgnored and EmptyRemote are appended last deliberately: Status is // rendered only through String() and never persisted numerically, but // appending keeps the existing values stable regardless. SkippedIgnored EmptyRemote )