Changes previous diff to working diff if uncommit

This commit is contained in:
Eric Amodio
2017-02-16 12:25:48 -05:00
parent 4d0c18f330
commit b17c43ba9a
4 changed files with 26 additions and 1 deletions

View File

@@ -42,7 +42,7 @@ export default class DiffLineWithPreviousCommand extends EditorCommand {
if (commit.isUncommitted) {
uri = commit.uri;
commit = new GitCommit(commit.repoPath, commit.previousSha, commit.previousFileName, commit.author, commit.date, commit.message);
line = blame.line.line + 1 + gitUri.offset;
line = (blame.line.line + 1) + gitUri.offset;
return commands.executeCommand(Commands.DiffWithWorking, uri, commit, line);
}
}

View File

@@ -34,6 +34,13 @@ export default class DiffWithPreviousCommand extends EditorCommand {
const gitUri = GitUri.fromUri(uri, this.git);
try {
if (!gitUri.sha) {
// If the file is uncommitted, treat it as a DiffWithWorking
if (await this.git.isFileUncommitted(gitUri.fsPath, gitUri.repoPath)) {
return commands.executeCommand(Commands.DiffWithWorking, uri);
}
}
const log = await this.git.getLogForFile(gitUri.fsPath, undefined, gitUri.repoPath, rangeOrLine as Range);
if (!log) return window.showWarningMessage(`Unable to open diff. File is probably not under source control`);