mirror of
https://github.com/microsoft/vscode.git
synced 2026-10-05 15:36:22 +01:00
Git - add more logging to provideOriginalResource() (#246242)
This commit is contained in:
1 parent
6c7a430552
commit
41ecdd700c
2 files changed
+18
-4
No files matched your search
@@ -117,7 +117,7 @@ async function createModel(context: ExtensionContext, logger: LogOutputChannel,
|
||||
new GitBlameController(model),
|
||||
new GitTimelineProvider(model, cc),
|
||||
new GitEditSessionIdentityProvider(model),
|
||||
new StagedResourceQuickDiffProvider(model),
|
||||
new StagedResourceQuickDiffProvider(model, logger),
|
||||
new TerminalShellExecutionManager(model, logger)
|
||||
);
|
||||
|
||||
|
||||
@@ -1026,6 +1026,8 @@ export class Repository implements Disposable {
|
||||
}
|
||||
|
||||
provideOriginalResource(uri: Uri): Uri | undefined {
|
||||
this.logger.trace(`[Repository][provideOriginalResource] Resource: ${uri.toString()}`);
|
||||
|
||||
if (uri.scheme !== 'file') {
|
||||
return;
|
||||
}
|
||||
@@ -1063,7 +1065,10 @@ export class Repository implements Disposable {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return toGitUri(uri, '', { replaceFileExtension: true });
|
||||
const originalResource = toGitUri(uri, '', { replaceFileExtension: true });
|
||||
this.logger.trace(`[Repository][provideOriginalResource] Original resource: ${originalResource.toString()}`);
|
||||
|
||||
return originalResource;
|
||||
}
|
||||
|
||||
async getInputTemplate(): Promise<string> {
|
||||
@@ -2802,23 +2807,32 @@ export class StagedResourceQuickDiffProvider implements QuickDiffProvider {
|
||||
|
||||
private _disposables: IDisposable[] = [];
|
||||
|
||||
constructor(private readonly _repositoryResolver: IRepositoryResolver) {
|
||||
constructor(
|
||||
private readonly _repositoryResolver: IRepositoryResolver,
|
||||
private readonly logger: LogOutputChannel
|
||||
) {
|
||||
this._disposables.push(window.registerQuickDiffProvider({ scheme: 'file' }, this, l10n.t('Git local changes (working tree + index)')));
|
||||
}
|
||||
|
||||
provideOriginalResource(uri: Uri): Uri | undefined {
|
||||
this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource: ${uri.toString()}`);
|
||||
|
||||
// Ignore resources outside a repository
|
||||
const repository = this._repositoryResolver.getRepository(uri);
|
||||
if (!repository) {
|
||||
this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not part of the repository: ${uri.toString()}`);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
// Ignore resources that are not in the index group
|
||||
if (!repository.indexGroup.resourceStates.some(r => pathEquals(r.resourceUri.fsPath, uri.fsPath))) {
|
||||
this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Resource is not part of a index group: ${uri.toString()}`);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return toGitUri(uri, 'HEAD', { replaceFileExtension: true });
|
||||
const originalResource = toGitUri(uri, 'HEAD', { replaceFileExtension: true });
|
||||
this.logger.trace(`[StagedResourceQuickDiffProvider][provideOriginalResource] Original resource: ${originalResource.toString()}`);
|
||||
return originalResource;
|
||||
}
|
||||
|
||||
dispose() {
|
||||
|
||||
Reference in new issue
Block a user