Repository navigation
Submodule diffs and pull requests for umbrella projects #21031
NeilMazumdar
started this conversation in
Ideas
Replies: 0 comments
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.
Setup
I run T3 Code on an umbrella repository with 70 direct submodules in four grouping folders. The umbrella holds docs, configuration and submodule pins. All implementation work happens inside the submodules. The agent edits files in a submodule, commits there, and opens a pull request on that submodule's repository.
Splitting this into 70 projects would give up the reason the umbrella exists. One thread often changes an API repo and the frontend that calls it, and the agent needs both in view.
What happens today
Checked against
mainat07cb9028.Diffs. An uncommitted edit inside a submodule never reaches the thread's Changed files or Diff panel. The working-tree diff reports
0 0 libandSubproject commit <sha>-dirty. After a commit inside the submodule, the diff shows only the gitlink change (mode160000) with no file-level diff. No diff call passes--submodule=diff, and checkpoint capture (add -Ainto the checkpoint index, thenwrite-tree) records only the gitlink.Pull requests. The Pull requests page searches one repository per project, built from each project's remote (
repo:owner/nameinPullRequestService.ts). A pull request the agent opened on a submodule's repository never appears there, even when it came from a thread in the umbrella project.Request
An opt-in per project, such as a
t3.jsonfield, would be fine. Walking 70 submodules on every status refresh has a real cost.Workaround
Adding each submodule folder as its own project should give per-repository diffs and pull requests. It loses the single thread that spans repositories, and means 70 projects in the sidebar.
Related: #6688, #20282 (closed as a duplicate of #6688).
All reactions