mirror of
https://github.com/ckaczor/vscode-gitlens.git
synced 2026-01-14 01:25:43 -05:00
Fixes issue with blame on versioned files
Stops falling back to the cached blame of the working file Handles git scheme urls properly
This commit is contained in:
@@ -83,15 +83,15 @@ export class GitUri extends Uri {
|
||||
|
||||
if (!git.isTrackable(uri)) return new GitUri(uri, git.repoPath);
|
||||
|
||||
// If this is a git uri, assume it is showing the most recent commit
|
||||
if (uri.scheme === DocumentSchemes.Git) {
|
||||
const commit = await git.getLogCommit(undefined, uri.fsPath);
|
||||
if (commit !== undefined) return new GitUri(uri, commit);
|
||||
}
|
||||
|
||||
const gitUri = git.getGitUriForFile(uri.fsPath);
|
||||
if (gitUri) return gitUri;
|
||||
|
||||
// If this is a git uri, assume it is showing the most recent commit
|
||||
if (uri.scheme === DocumentSchemes.Git && uri.query === '~') {
|
||||
const commit = await git.getLogCommit(undefined, uri.fsPath);
|
||||
if (commit) return new GitUri(uri, commit);
|
||||
}
|
||||
|
||||
return new GitUri(uri, (await git.getRepoPathFromFile(uri.fsPath)) || git.repoPath);
|
||||
}
|
||||
|
||||
|
||||
@@ -339,19 +339,6 @@ export class GitService extends Disposable {
|
||||
Logger.log(`Cached(${key}): getBlameForFile('${uri.repoPath}', '${uri.fsPath}', ${uri.sha})`);
|
||||
return cachedBlame.item;
|
||||
}
|
||||
|
||||
if (key !== 'blame') {
|
||||
// Since we are looking for partial blame, see if we have the blame of the whole file
|
||||
const cachedBlame = entry.get<ICachedBlame>('blame');
|
||||
if (cachedBlame !== undefined) {
|
||||
Logger.log(`? Cache(${key}): getBlameForFile('${uri.repoPath}', '${uri.fsPath}', ${uri.sha})`);
|
||||
const blame = await cachedBlame.item;
|
||||
if (blame !== undefined && blame.commits.has(uri.sha!)) {
|
||||
Logger.log(`Cached(${key}): getBlameForFile('${uri.repoPath}', '${uri.fsPath}', ${uri.sha})`);
|
||||
return cachedBlame.item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Logger.log(`Not Cached(${key}): getBlameForFile('${uri.repoPath}', '${uri.fsPath}', ${uri.sha})`);
|
||||
|
||||
Reference in New Issue
Block a user