Supporting multi-repo workspaces (folder of N sibling git repos) #155
harshitsinghbhandari
started this conversation in
Ideas
Replies: 1 comment
-
|
Closing several of the open questions, leaving two open. Decisions
Still openRoot files in a non-git parentThe worktree includes the parent's root-level files (outside any sub-repo). The parent isn't a git repo, so those files have no version control. When two concurrent sessions both edit
Schema for "session targets multiple sub-repos"A.
B. JSON column on
C. One session per sub-repo + a
D. Single repo with branch-name convention
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Right now AO assumes
one project = one git repo. Sessions get isolated working copies viagit worktree add, branches map 1:1 to sessions, and the SCM observer watches one remote per project.That misses a common shape: a folder containing several sibling git repos.
We want AO to support this: one logical project, N sibling git repos underneath, where the parent folder may or may not be a git repo.
Scope is git-only. If a sub-folder isn't a git repo, AO will offer to
git initit or refuse to register it. No COW / overlay / non-git fallback.Registration UX
When the user runs
ao project add <path>:git initfor those, or skip them.git initfirst.Open questions
This thread is for scoping. No proposed design — just the questions that need answers before anyone starts designing.
Workspace model
.ao/inside the parent folder? AO's SQLite store only? Both?Isolation unit
--targets cli,api?Schema changes
sessions.project_idtoday implies one branch on one repo. With workspaces, do we need session × sub-repo rows? A newsession_targetjoin?SCM observer
Activity attribution / hooks
cli/andapi/, which sub-repo "owns" the resulting activity events? Both? The first one touched?Cleanup / reaper
Registration UX details
ao project add --as-workspace/--pick-subrepo <name>bypass it for scripts?git inits a sub-folder, does it mark anything in.git/configas AO-managed?Scope for this iteration
Beta Was this translation helpful? Give feedback.
All reactions