Git - get the diff and num stats for a commit (#284403)

This commit is contained in:
Ladislau Szomoru
2025-12-19 10:18:29 +00:00
committed by GitHub
parent c4faa84e4e
commit c95739960f
7 changed files with 115 additions and 16 deletions

View File

@@ -7,7 +7,7 @@
import { Model } from '../model';
import { Repository as BaseRepository, Resource } from '../repository';
import { InputBox, Git, API, Repository, Remote, RepositoryState, Branch, ForcePushMode, Ref, Submodule, Commit, Change, RepositoryUIState, Status, LogOptions, APIState, CommitOptions, RefType, CredentialsProvider, BranchQuery, PushErrorHandler, PublishEvent, FetchOptions, RemoteSourceProvider, RemoteSourcePublisher, PostCommitCommandsProvider, RefQuery, BranchProtectionProvider, InitOptions, SourceControlHistoryItemDetailsProvider, GitErrorCodes, CloneOptions, CommitShortStat } from './git';
import { InputBox, Git, API, Repository, Remote, RepositoryState, Branch, ForcePushMode, Ref, Submodule, Commit, Change, RepositoryUIState, Status, LogOptions, APIState, CommitOptions, RefType, CredentialsProvider, BranchQuery, PushErrorHandler, PublishEvent, FetchOptions, RemoteSourceProvider, RemoteSourcePublisher, PostCommitCommandsProvider, RefQuery, BranchProtectionProvider, InitOptions, SourceControlHistoryItemDetailsProvider, GitErrorCodes, CloneOptions, CommitShortStat, DiffChange } from './git';
import { Event, SourceControlInputBox, Uri, SourceControl, Disposable, commands, CancellationToken } from 'vscode';
import { combinedDisposable, filterEvent, mapEvent } from '../util';
import { toGitUri } from '../uri';
@@ -199,6 +199,10 @@ export class ApiRepository implements Repository {
return this.#repository.diffBetween(ref1, ref2, path);
}
diffBetweenWithStats(ref1: string, ref2: string, path?: string): Promise<DiffChange[]> {
return this.#repository.diffBetweenWithStats(ref1, ref2, path);
}
hashObject(data: string): Promise<string> {
return this.#repository.hashObject(data);
}

View File

@@ -121,6 +121,11 @@ export interface Change {
readonly status: Status;
}
export interface DiffChange extends Change {
readonly insertions: number;
readonly deletions: number;
}
export interface RepositoryState {
readonly HEAD: Branch | undefined;
readonly refs: Ref[];