src/desktop/git/ls_git_provider.ts (25 lines of code) (raw):

import * as vscode from 'vscode'; import { LSGitProvider } from '../../common/git/ls_git_provider'; import { gitExtensionWrapper } from './git_extension_wrapper'; export class LSGitProviderDesktop implements LSGitProvider { #gitExtensionWrapper = gitExtensionWrapper; async #findRepository(uri: vscode.Uri) { return this.#gitExtensionWrapper.gitRepositories.find( repo => repo.rawRepository.rootUri.fsPath === uri.fsPath, ); } async getDiffWithHead(repositoryUri: vscode.Uri): Promise<string | undefined> { const repository = await this.#findRepository(repositoryUri); if (!repository) { return undefined; } return repository.rawRepository.diffWithHEAD(repositoryUri.fsPath); } async getDiffWithBranch(repositoryUri: vscode.Uri, branch: string): Promise<string | undefined> { const repository = await this.#findRepository(repositoryUri); if (!repository) { return undefined; } return repository.rawRepository.diffWith(branch, repositoryUri.fsPath); } }