[Feature]: Git status marks in the Files tree #7444
yaminyassin
started this conversation in
Ideas
Replies: 1 comment
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.
Draft implementation: #7443
Before submitting
Area
Files panel on web, desktop, and mobile. Git status on the server.
Problem or use case
I open Files after a turn to see what the agent changed.
The tree looks clean. It is not. New files sit next to old files with no mark. I only see the change if I open Diff or the commit list.
Diff shows hunks. I want names and folders. VS Code already does this. A U is untracked. An A is a new file that is staged. An M is a tracked file with edits. A folder shows a mark if a child has a mark.
T3 already has this list. Git Actions uses it. Files does not show it.
Proposed solution
Put those letters on the Files tree.
Do not add a new request. Add an optional status field to the current working-tree file list. An old environment can ignore the field. The tree then shows no marks.
Web and desktop can use the current Files tree. Mobile needs the same letters on its file list.
Why this matters
An agent often touches many files in one turn. I open Files to see the new shape. With no marks, I cannot tell new from old. I open Diff for a question that Diff does not answer.
Smallest useful scope
Web, desktop, and mobile Files.
Show U, A, and M from the current git status. Show folder marks. A deleted file drops out of the tree. Do not change the commit list.
Alternatives considered
Open Diff each time. That works. Diff is a hunk view, not a name view.
Use the commit list. That list is flat. It does not show the tree.
Add a second status channel. Do not. The list is already there.
Risks or tradeoffs
Git paths must match the project directory. If they do not, the marks do not show.
Some git config hides untracked files. Then U will be missing. Say that. Do not hide it.
A deleted file leaves the tree. You cannot put D on a row that is gone. A mark on the parent folder is enough for v1.
An old environment plus a new client must show no marks. It must not fail.
Examples or references
VS Code explorer letters. Same letters. Same meaning.
This is a local build of that scope. New files get U. The folder gets U too.
Edited files get M. The folder gets M too.
I can throw this build away if you want a different shape.
Contribution
Draft PR: #7443
All reactions