Adds logging for #22 - Cannot read property 'sha' of undefined

This commit is contained in:
Eric Amodio
2017-01-17 10:27:38 -05:00
parent ca7f39629d
commit 6c536e9360

View File

@@ -4,6 +4,7 @@ import { Disposable, ExtensionContext, StatusBarAlignment, StatusBarItem, TextDo
import { TextDocumentComparer } from './comparers'; import { TextDocumentComparer } from './comparers';
import { IConfig, StatusBarCommand } from './configuration'; import { IConfig, StatusBarCommand } from './configuration';
import GitProvider, { GitCommit, GitUri, IGitBlame } from './gitProvider'; import GitProvider, { GitCommit, GitUri, IGitBlame } from './gitProvider';
import { Logger } from './logger';
import * as moment from 'moment'; import * as moment from 'moment';
export default class BlameStatusBarController extends Disposable { export default class BlameStatusBarController extends Disposable {
@@ -108,9 +109,15 @@ export default class BlameStatusBarController extends Disposable {
return; return;
} }
try {
const sha = blame.lines[line].sha; const sha = blame.lines[line].sha;
commit = blame.commits.get(sha); commit = blame.commits.get(sha);
} }
catch (ex) {
Logger.error(`DEBUG(${this._uri.toString()}): Line ${line} not found in blame; lines=${blame.lines.length}, uriOffset=${this._uri.offset}, repoPath=${blame.repoPath}`);
throw ex;
}
}
else { else {
const blameLine = await this.git.getBlameForLine(this._uri.fsPath, line, this._uri.sha, this._uri.repoPath); const blameLine = await this.git.getBlameForLine(this._uri.fsPath, line, this._uri.sha, this._uri.repoPath);
commit = blameLine && blameLine.commit; commit = blameLine && blameLine.commit;