diff --git a/src/vs/workbench/parts/git/common/gitContentProvider.ts b/src/vs/workbench/parts/git/common/gitContentProvider.ts index ec68d1a41a064670791beb49f6231e8bdfc8beba..8dad7f3d5ec8f4043066eca6269d3ee323585e5a 100644 --- a/src/vs/workbench/parts/git/common/gitContentProvider.ts +++ b/src/vs/workbench/parts/git/common/gitContentProvider.ts @@ -44,7 +44,7 @@ export class GitContentProvider implements IWorkbenchContribution, ITextModelCon const treeish = gitModel.getStatus().find(path, StatusType.INDEX) ? '~' : 'HEAD'; return this.gitService.buffer(path, treeish) - .then(contents => this.modelService.createModel(contents, null, uri)) + .then(contents => this.modelService.createModel(contents || '', null, uri)) .then(model => { const trigger = () => { this.throttler.queue(() => { diff --git a/src/vs/workbench/parts/scm/browser/dirtydiffDecorator.ts b/src/vs/workbench/parts/scm/browser/dirtydiffDecorator.ts index 8aff40576a2716c075ea98a2ddfa04447ff0a738..119f5834ca9c71ebfde35388966737b676bd02ca 100644 --- a/src/vs/workbench/parts/scm/browser/dirtydiffDecorator.ts +++ b/src/vs/workbench/parts/scm/browser/dirtydiffDecorator.ts @@ -114,12 +114,13 @@ class DirtyDiffModelDecorator { } private diff(): winjs.Promise { - if (!this.model || this.model.isDisposed()) { - return winjs.TPromise.as([]); // disposed - } + return this.originalURIPromise.then(originalURI => { + if (!this.model || this.model.isDisposed()) { + return winjs.TPromise.as([]); // disposed + } - return this.originalURIPromise - .then(originalURI => this.editorWorkerService.computeDirtyDiff(originalURI, this.model.uri, true)); + this.editorWorkerService.computeDirtyDiff(originalURI, this.model.uri, true); + }); } private static changesToDecorations(diff: common.IChange[]): common.IModelDeltaDecoration[] {