diff --git a/extensions/git/src/model.ts b/extensions/git/src/model.ts index 2624ffb4126..360f8401507 100644 --- a/extensions/git/src/model.ts +++ b/extensions/git/src/model.ts @@ -152,7 +152,7 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu private _onDidChangePostCommitCommandsProviders = new EventEmitter(); readonly onDidChangePostCommitCommandsProviders = this._onDidChangePostCommitCommandsProviders.event; - private branchProtectionProviders = new Map>(); + private branchProtectionProviders = new Map>(); private _onDidChangeBranchProtectionProviders = new EventEmitter(); readonly onDidChangeBranchProtectionProviders = this._onDidChangeBranchProtectionProviders.event; @@ -769,17 +769,17 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu registerBranchProtectionProvider(root: Uri, provider: BranchProtectionProvider): Disposable { const providerDisposables: Disposable[] = []; - this.branchProtectionProviders.set(root, (this.branchProtectionProviders.get(root) ?? new Set()).add(provider)); + this.branchProtectionProviders.set(root.toString(), (this.branchProtectionProviders.get(root.toString()) ?? new Set()).add(provider)); providerDisposables.push(provider.onDidChangeBranchProtection(uri => this._onDidChangeBranchProtectionProviders.fire(uri))); this._onDidChangeBranchProtectionProviders.fire(root); return toDisposable(() => { - const providers = this.branchProtectionProviders.get(root); + const providers = this.branchProtectionProviders.get(root.toString()); if (providers && providers.has(provider)) { providers.delete(provider); - this.branchProtectionProviders.set(root, providers); + this.branchProtectionProviders.set(root.toString(), providers); this._onDidChangeBranchProtectionProviders.fire(root); } @@ -788,7 +788,7 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu } getBranchProtectionProviders(root: Uri): BranchProtectionProvider[] { - return [...(this.branchProtectionProviders.get(root) ?? new Set()).values()]; + return [...(this.branchProtectionProviders.get(root.toString()) ?? new Set()).values()]; } registerPostCommitCommandsProvider(provider: PostCommitCommandsProvider): Disposable { diff --git a/extensions/git/src/repository.ts b/extensions/git/src/repository.ts index 724c1152e34..e7ed1cad955 100644 --- a/extensions/git/src/repository.ts +++ b/extensions/git/src/repository.ts @@ -2385,7 +2385,9 @@ export class Repository implements Disposable { } } - this.branchProtection.set(remote, matchers); + if (matchers.length !== 0) { + this.branchProtection.set(remote, matchers); + } } }