Merge commit 'refs/pull/49397/head' of github.com:Microsoft/vscode into pr/49397

This commit is contained in:
Joao Moreno
2018-07-06 15:46:10 +02:00
2 changed files with 28 additions and 2 deletions

View File

@@ -751,6 +751,27 @@ export class Repository {
return { mode, object, size: parseInt(size) };
}
async lstreeOutput(treeish: string, path: string): Promise<string> {
if (!treeish) { // index
const { stdout } = await this.run(['ls-files', '--stage', '--', path]);
return stdout;
}
const { stdout } = await this.run(['ls-tree', '-l', treeish, '--', path]);
return stdout;
}
async relativePathToGitRelativePath(treeish: string, path: string): Promise<string> {
let gitPath: string = path;
const pathPrefix = path.substring(0, path.lastIndexOf('/'));
const lstOutput = await this.lstreeOutput(treeish, pathPrefix + '/');
const findResult = lstOutput.toUpperCase().indexOf(path.toUpperCase());
if (findResult) {
gitPath = lstOutput.substr(findResult, path.length);
}
return gitPath;
}
async detectObjectType(object: string): Promise<{ mimetype: string, encoding?: string }> {
const child = await this.stream(['show', object]);
const buffer = await readBytes(child.stdout, 4100);