Expand description
Canonical repo resolution: every review repo maps to exactly one canonical local repo, which
sync never deletes - only the worktrees/workspaces created from it. A canonical repo
is either discovered (an existing checkout found by scanning Config::workdir, see
crate::workdir) or tool-managed (cloned once under Paths::repo_dir() and recorded
in repos.json).
Lookup order: the workdir scan cache, then the repos.json registry, then - if workdir is
set - a rescan (throttled, see RepoStore::needs_rescan) in case the repo was just cloned or
is newly discoverable. Still missing after all that: OnMissing decides whether to clone
(always plain git - only a discovered checkout can be jj) or hand back NeedsClone for the
caller to ask about first.
Structs§
- Canonical
Repo - A resolved local repo that review workspaces are built from.
- Needs
Clone - Returned by
RepoStore::resolveunderOnMissing::Askwhen a review’s repo has no local checkout. Callers shoulddowncast_reffor this to offer the clone prompt, and re-resolve withOnMissing::Cloneif the user agrees. - Repo
List Entry - Repo
Store
Enums§
Functions§
- normalize_
url - Normalize a clone URL so
git@github.com:o/r.git,https://github.com/o/r, andssh://git@github.com/o/rall compare equal, ashost/owner/repo.