diff --git a/extensions/git/src/api/git.d.ts b/extensions/git/src/api/git.d.ts index 186f50fd589..191a74e125b 100644 --- a/extensions/git/src/api/git.d.ts +++ b/extensions/git/src/api/git.d.ts @@ -303,7 +303,7 @@ export interface BranchProtectionProvider { export interface CommitMessageProvider { readonly title: string; readonly icon?: Uri | { light: Uri, dark: Uri } | ThemeIcon; - provideCommitMessage(changes: string[], cancellationToken?: CancellationToken): Promise; + provideCommitMessage(repository: Repository, changes: string[], cancellationToken?: CancellationToken): Promise; } export type APIState = 'uninitialized' | 'initialized'; diff --git a/extensions/git/src/commitMessageProvider.ts b/extensions/git/src/commitMessageProvider.ts index 573f3da0961..29f2da8c8b1 100644 --- a/extensions/git/src/commitMessageProvider.ts +++ b/extensions/git/src/commitMessageProvider.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { CancellationToken, Disposable, Event, EventEmitter, Uri, workspace, SourceControlInputBoxActionButton, ThemeIcon, l10n } from 'vscode'; -import { CommitMessageProvider, Status } from './api/git'; +import { CommitMessageProvider, Status, Repository as ApiRepository } from './api/git'; import { Repository } from './repository'; import { dispose } from './util'; @@ -20,7 +20,7 @@ export class TestCommitMessageProvider implements CommitMessageProvider { readonly icon = new ThemeIcon('rocket'); readonly title = 'Generate Commit Message (Test)'; - async provideCommitMessage(_: string[], token: CancellationToken): Promise { + async provideCommitMessage(_: ApiRepository, __: string[], token: CancellationToken): Promise { if (token.isCancellationRequested) { return undefined; } diff --git a/extensions/git/src/repository.ts b/extensions/git/src/repository.ts index ea78dbeae56..21aac729dd9 100644 --- a/extensions/git/src/repository.ts +++ b/extensions/git/src/repository.ts @@ -2048,7 +2048,7 @@ export class Repository implements Disposable { const token = this.generateCommitMessageCancellationTokenSource.token; const provider = this.commitMessageProviderRegistry.commitMessageProvider; - const commitMessage = await provider.provideCommitMessage(diff, token); + const commitMessage = await provider.provideCommitMessage(new ApiRepository(this), diff, token); if (commitMessage) { this.inputBox.value = commitMessage; }