diff --git a/src/git/gitEnrichment.ts b/src/git/gitEnrichment.ts index 3326c9e..8a9d6d2 100644 --- a/src/git/gitEnrichment.ts +++ b/src/git/gitEnrichment.ts @@ -96,11 +96,11 @@ export class GitCommit implements IGitCommit { } get previousUri(): Uri { - return this.previousFileName ? Uri.file(path.join(this.repoPath, this.previousFileName)) : this.uri; + return this.previousFileName ? Uri.file(path.resolve(this.repoPath, this.previousFileName)) : this.uri; } get uri(): Uri { - return Uri.file(path.join(this.repoPath, this.originalFileName || this.fileName)); + return Uri.file(path.resolve(this.repoPath, this.originalFileName || this.fileName)); } getFormattedPath(separator: string = ' \u00a0\u2022\u00a0 '): string { @@ -155,7 +155,7 @@ export class GitLogCommit extends GitCommit { } get nextUri(): Uri { - return this.nextFileName ? Uri.file(path.join(this.repoPath, this.nextFileName)) : this.uri; + return this.nextFileName ? Uri.file(path.resolve(this.repoPath, this.nextFileName)) : this.uri; } } diff --git a/src/git/gitUri.ts b/src/git/gitUri.ts index 3b91410..b928802 100644 --- a/src/git/gitUri.ts +++ b/src/git/gitUri.ts @@ -25,27 +25,21 @@ export class GitUri extends Uri { this.offset = 0; if (uri.scheme === DocumentSchemes.GitLensGit) { const data = GitProvider.fromGitContentUri(uri); - base._fsPath = data.originalFileName || data.fileName; + base._fsPath = path.resolve(data.repoPath, data.originalFileName || data.fileName); this.offset = (data.decoration && data.decoration.split('\n').length) || 0; if (!Git.isUncommitted(data.sha)) { this.sha = data.sha; this.repoPath = data.repoPath; } - else { - base._fsPath = path.join(data.repoPath, base._fsPath); - } } else if (commit) { - base._fsPath = commit.originalFileName || commit.fileName; + base._fsPath = path.resolve(commit.repoPath, commit.originalFileName || commit.fileName); if (!Git.isUncommitted(commit.sha)) { this.sha = commit.sha; this.repoPath = commit.repoPath; } - else { - base._fsPath = path.join(commit.repoPath, base._fsPath); - } } }