diff --git a/src/git/git.ts b/src/git/git.ts index a42eff7..fcf1be9 100644 --- a/src/git/git.ts +++ b/src/git/git.ts @@ -129,27 +129,28 @@ export default class Git { return gitCommand(repoPath, ...params); } - static getVersionedFile(fileName: string, repoPath: string, sha: string) { + static async getVersionedFile(fileName: string, repoPath: string, sha: string) { + const data = await Git.getVersionedFileText(fileName, repoPath, sha); + + const ext = path.extname(fileName); return new Promise((resolve, reject) => { - Git.getVersionedFileText(fileName, repoPath, sha).then(data => { - const ext = path.extname(fileName); - tmp.file({ prefix: `${path.basename(fileName, ext)}-${sha}__`, postfix: ext }, - (err, destination, fd, cleanupCallback) => { + tmp.file({ prefix: `${path.basename(fileName, ext)}-${sha}__`, postfix: ext }, + (err, destination, fd, cleanupCallback) => { + if (err) { + reject(err); + return; + } + + Logger.log(`getVersionedFile(${fileName}, ${repoPath}, ${sha}); destination=${destination}`); + fs.appendFile(destination, data, err => { if (err) { reject(err); return; } - Logger.log(`getVersionedFile(${fileName}, ${repoPath}, ${sha}); destination=${destination}`); - fs.appendFile(destination, data, err => { - if (err) { - reject(err); - return; - } - resolve(destination); - }); + resolve(destination); }); - }); + }); }); }