Skip to content
This repository was archived by the owner on May 20, 2026. It is now read-only.

Commit 05919e2

Browse files
authored
Clear workspace changes before retrieving modified files in FolderRepositoryManager (#4831)
* Clear workspace changes before retrieving modified files in FolderRepositoryManager * Fix tests
1 parent fd17a6f commit 05919e2

4 files changed

Lines changed: 8 additions & 0 deletions

File tree

src/extension/chatSessions/copilotcli/node/test/copilotCliSessionService.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class NullChatSessionWorkspaceFolderService extends mock<IChatSessionWorkspaceFo
6969
override getSessionWorkspaceFolder = vi.fn(async () => undefined);
7070
override handleRequestCompleted = vi.fn(async () => { });
7171
override getWorkspaceChanges = vi.fn(async () => undefined);
72+
override clearWorkspaceChanges = vi.fn(() => { });
7273
}
7374

7475
class NullChatSessionWorktreeService extends mock<IChatSessionWorktreeService>() {

src/extension/chatSessions/vscode-node/folderRepositoryManagerImpl.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,7 @@ export abstract class FolderRepositoryManager extends Disposable implements IFol
468468
repository: NonNullable<ReturnType<IGitService['activeRepository']['get']>>,
469469
token: vscode.CancellationToken
470470
): Promise<Array<{ uri: vscode.Uri; originalUri?: vscode.Uri; insertions?: number; deletions?: number }>> {
471+
this.workspaceFolderService.clearWorkspaceChanges(repositoryUri);
471472
const workspaceChanges = await this.workspaceFolderService.getWorkspaceChanges(repositoryUri) ?? [];
472473
if (workspaceChanges.length > 0) {
473474
return workspaceChanges.map(change => this.toModifiedFileConfirmationEntry(change));

src/extension/chatSessions/vscode-node/test/copilotCLIChatSessionParticipant.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@ class FakeChatSessionWorkspaceFolderService extends mock<IChatSessionWorkspaceFo
151151
setTestWorkspaceChanges(folder: vscode.Uri, changes: readonly ChatSessionWorktreeFile[] | undefined): void {
152152
this._workspaceChanges.set(folder.toString(), changes);
153153
}
154+
override clearWorkspaceChanges(workspaceFolderUri: vscode.Uri): void {
155+
this._workspaceChanges.delete(workspaceFolderUri.toString());
156+
}
154157
}
155158

156159
class FakeChatSessionWorktreeService extends mock<IChatSessionWorktreeService>() {

src/extension/chatSessions/vscode-node/test/folderRepositoryManager.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ class FakeChatSessionWorkspaceFolderService extends mock<IChatSessionWorkspaceFo
9696
setTestWorkspaceChanges(folder: vscode.Uri, changes: readonly ChatSessionWorktreeFile[] | undefined): void {
9797
this._workspaceChanges.set(folder.toString(), changes);
9898
}
99+
override clearWorkspaceChanges(workspaceFolderUri: vscode.Uri): void {
100+
this._workspaceChanges.delete(workspaceFolderUri.toString());
101+
}
99102
}
100103

101104
/**

0 commit comments

Comments
 (0)