Skip to content

Commit a2fe848

Browse files
authored
set git.mergeChanges context key for all repos, not just one (microsoft#162339)
fixes microsoft#162224
1 parent 187f099 commit a2fe848

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

extensions/git/src/model.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,21 @@ export class Model implements IRemoteSourcePublisherRegistry, IPostCommitCommand
450450
.forEach(p => this.eventuallyScanPossibleGitRepository(p));
451451
};
452452

453-
const statusListener = repository.onDidRunGitStatus(checkForSubmodules);
453+
const updateMergeChanges = () => {
454+
// set mergeChanges context
455+
const mergeChanges: Uri[] = [];
456+
for (const { repository } of this.openRepositories.values()) {
457+
for (const state of repository.mergeGroup.resourceStates) {
458+
mergeChanges.push(state.resourceUri);
459+
}
460+
}
461+
commands.executeCommand('setContext', 'git.mergeChanges', mergeChanges);
462+
};
463+
464+
const statusListener = repository.onDidRunGitStatus(() => {
465+
checkForSubmodules();
466+
updateMergeChanges();
467+
});
454468
checkForSubmodules();
455469

456470
const dispose = () => {
@@ -466,6 +480,7 @@ export class Model implements IRemoteSourcePublisherRegistry, IPostCommitCommand
466480

467481
const openRepository = { repository, dispose };
468482
this.openRepositories.push(openRepository);
483+
updateMergeChanges();
469484
this._onDidOpenRepository.fire(repository);
470485
}
471486

extensions/git/src/repository.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2103,9 +2103,6 @@ export class Repository implements Disposable {
21032103
// set count badge
21042104
this.setCountBadge();
21052105

2106-
// set mergeChanges context
2107-
commands.executeCommand('setContext', 'git.mergeChanges', merge.map(item => item.resourceUri));
2108-
21092106
this._onDidChangeStatus.fire();
21102107

21112108
this._sourceControl.commitTemplate = await this.getInputTemplate();

0 commit comments

Comments
 (0)