Adds conflict files panel to the Interactive Rebase editor (#5040)#5048
Conversation
| const stat = await workspace.fs.stat(uri); | ||
|
|
||
| const maxConflictFileSize = 5 * 1024 * 1024; // 5 MB | ||
| if (stat.size > maxConflictFileSize) return 0; | ||
|
|
||
| const key = uri.fsPath; | ||
| const cached = this._conflictMarkerCache.get(key); | ||
| if (cached?.mtime === stat.mtime) { | ||
| return cached.count; | ||
| } | ||
| const content = await workspace.fs.readFile(uri); |
There was a problem hiding this comment.
Do we think this is too heavy? The read is cached, but it still requires a stat to bust the cache. This is to get us the number of conflicts in the file.
I wanted to add this to see if it felt useful, but I'm leaning towards removing it.
🤖 Augment PR SummarySummary: This PR adds an inline conflicted-files panel to the Interactive Rebase editor to make resolving paused rebases easier (closes #5040). Changes:
Technical Notes: Conflict marker counts are derived by scanning conflicted files (with caching and a size cap) and are surfaced to the webview state for rendering. 🤖 Was this summary useful? React with 👍 or 👎 |
39ae80b to
edaf3a0
Compare
d13
left a comment
There was a problem hiding this comment.
LGTM
There's a UX revision we already discussed to open files to the side, but that doesn't block my approval.
Adds a conflict files panel to the rebase editor that shows conflicting files with per-file conflict counts, conflict status indicators, and actions to view current or incoming changes. Also fixes phantom scrollbar in gl-tree-generator for small containers.
edaf3a0 to
4a99681
Compare
Description
Closes #5040.