You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our team works primarily in Perforce. A single dev machine has several p4 clients synced to different local directories (e.g. /p4/client-a, /p4/client-b). The code is already on disk — we don't need Multica to clone it.
Two things make this awkward today:
The multica repo / checkout path is Git-only (git clone --bare + git worktree). Perforce/SVN aren't supported.
The only way to reuse an existing local dir is the local_directory project resource — but it's project-scoped and unique per daemon: one Project can bind only one directory on a given machine.
So with N p4 clients you need N Projects, and routing happens by which Project an issue belongs to. The binding is static — pointing a single issue at a different local dir means reconfiguring the project or switching Projects. That's heavy.
What other tools do
Codex / Cursor background agents let you pick the working directory (repo + branch, or a local dir) per session/task, on the spot. The binding is task-level and switchable, not pinned on the project ahead of time. For a developer juggling multiple workspaces/clients this is far more natural.
Proposed directions (light → heavy)
A. Task-level override — when creating/assigning an issue, choose which daemon + local directory this run should use, overriding the project default.
B. Relax uniqueness — allow multiple local_directory resources per Project on the same daemon; let the assignee/agent pick from the list (like the existing multi-repo "list + self-select" model).
C. First-class local workspaces (longer term) — model local_directory as a proper "local workspace" with a VCS-type tag (git / p4 / none) so context injection, commit co-authorship, etc. can branch on it.
Open questions
Which layer should task-level dir selection live in: issue assignment, runtime config, or agent-time self-selection?
Concurrency: a local dir already has a path lock (one task at a time) — how should parallel work across clients be surfaced in the UI?
Should the daemon report its available local dirs / p4 clients so users pick from a list instead of typing absolute paths?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
Our team works primarily in Perforce. A single dev machine has several p4 clients synced to different local directories (e.g.
/p4/client-a,/p4/client-b). The code is already on disk — we don't need Multica to clone it.Two things make this awkward today:
multica repo/ checkout path is Git-only (git clone --bare+git worktree). Perforce/SVN aren't supported.local_directoryproject resource — but it's project-scoped and unique per daemon: one Project can bind only one directory on a given machine.So with N p4 clients you need N Projects, and routing happens by which Project an issue belongs to. The binding is static — pointing a single issue at a different local dir means reconfiguring the project or switching Projects. That's heavy.
What other tools do
Codex / Cursor background agents let you pick the working directory (repo + branch, or a local dir) per session/task, on the spot. The binding is task-level and switchable, not pinned on the project ahead of time. For a developer juggling multiple workspaces/clients this is far more natural.
Proposed directions (light → heavy)
local_directoryresources per Project on the same daemon; let the assignee/agent pick from the list (like the existing multi-repo "list + self-select" model).local_directoryas a proper "local workspace" with a VCS-type tag (git / p4 / none) so context injection, commit co-authorship, etc. can branch on it.Open questions
Beta Was this translation helpful? Give feedback.
All reactions