提交 e7f4060c 编写于 作者: J Joao Moreno

model.getRepositoryRoot

上级 8acd3bbd
......@@ -32,6 +32,7 @@ import {IInstantiationService} from 'vs/platform/instantiation/common/instantiat
import {IMessageService} from 'vs/platform/message/common/message';
import {IWorkspaceContextService} from 'vs/platform/workspace/common/workspace';
import {ILifecycleService} from 'vs/platform/lifecycle/common/lifecycle';
import URI from 'vs/base/common/uri';
function toReadablePath(path: string): string {
if (!platform.isWindows) {
......@@ -158,9 +159,9 @@ class EditorInputCache
}
private createRightInput(status: git.IFileStatus): winjs.Promise {
var path = status.getPath();
var resource = this.contextService.toResource(path);
var model = this.gitService.getModel();
const model = this.gitService.getModel();
const path = status.getPath();
let resource = URI.file(paths.join(model.getRepositoryRoot(), path));
switch (status.getStatus()) {
case git.Status.INDEX_MODIFIED:
......@@ -181,13 +182,13 @@ class EditorInputCache
var indexStatus = model.getStatus().find(path, git.StatusType.INDEX);
if (indexStatus && indexStatus.getStatus() === git.Status.INDEX_RENAMED) {
return this.editorService.inputToType({ resource: this.contextService.toResource(indexStatus.getRename()) });
resource = URI.file(paths.join(model.getRepositoryRoot(), indexStatus.getRename()));
}
return this.editorService.inputToType({ resource: resource });
return this.editorService.inputToType({ resource });
case git.Status.BOTH_MODIFIED:
return this.editorService.inputToType({ resource: resource });
return this.editorService.inputToType({ resource });
default:
return winjs.Promise.as(null);
......@@ -391,7 +392,16 @@ export class GitService extends ee.EventEmitter
private refreshDelayer: async.ThrottledDelayer;
private autoFetcher: AutoFetcher;
constructor(raw: git.IRawGitService, @IInstantiationService instantiationService: IInstantiationService, @IEventService eventService: IEventService, @IMessageService messageService: IMessageService, @IWorkbenchEditorService editorService: IWorkbenchEditorService, @IOutputService outputService: IOutputService, @IWorkspaceContextService contextService: IWorkspaceContextService, @ILifecycleService lifecycleService: ILifecycleService) {
constructor(
raw: git.IRawGitService,
@IInstantiationService instantiationService: IInstantiationService,
@IEventService eventService: IEventService,
@IMessageService messageService: IMessageService,
@IWorkbenchEditorService editorService: IWorkbenchEditorService,
@IOutputService outputService: IOutputService,
@IWorkspaceContextService contextService: IWorkspaceContextService,
@ILifecycleService lifecycleService: ILifecycleService
) {
super();
this.instantiationService = instantiationService;
......
......@@ -123,6 +123,7 @@ export interface IStatusModel extends EventEmitter.IEventEmitter {
}
export interface IModel extends EventEmitter.IEventEmitter {
getRepositoryRoot(): string;
getStatus(): IStatusModel;
getHEAD(): IBranch;
getHeads(): IBranch[];
......
......@@ -311,6 +311,7 @@ export class StatusModel extends EventEmitter.EventEmitter implements Git.IStatu
export class Model extends EventEmitter.EventEmitter implements Git.IModel {
private repositoryRoot: string;
private status: Git.IStatusModel;
private HEAD: Git.IBranch;
private heads: Git.IBranch[];
......@@ -322,6 +323,7 @@ export class Model extends EventEmitter.EventEmitter implements Git.IModel {
this.toDispose = [];
this.repositoryRoot = null;
this.status = new StatusModel();
this.toDispose.push(this.addEmitter2(this.status));
......@@ -330,6 +332,10 @@ export class Model extends EventEmitter.EventEmitter implements Git.IModel {
this.tags = [];
}
public getRepositoryRoot(): string {
return this.repositoryRoot;
}
public getStatus(): Git.IStatusModel {
return this.status;
}
......@@ -357,6 +363,7 @@ export class Model extends EventEmitter.EventEmitter implements Git.IModel {
};
}
this.repositoryRoot = status.repositoryRoot;
this.status.update(status.status);
this.HEAD = status.HEAD;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册