From 4268f099b513d00b4edd673ac609af8b7ea5e2f2 Mon Sep 17 00:00:00 2001 From: Oj Date: Mon, 8 Mar 2021 19:12:41 +0000 Subject: [PATCH] [Caching] Fix updating hash sometimes failing due to cwd bug --- src/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 36a6738..0ea5d39 100644 --- a/src/index.js +++ b/src/index.js @@ -136,8 +136,16 @@ for (const parentRepo of ModuleRepos) { // resetDir(cloneDir); // rmSync(cloneDir, { recursive: true, force: true }); - // if (existsSync(cloneDir)) rmSync(cloneDir, { recursive: true, force: true }); + if (existsSync(cloneDir)) { + process.chdir(cloneDir); + + const currentHash = await new Promise((res) => exec(`git rev-parse HEAD`, (err, stdout) => res(stdout.trim()))); + + if (currentHash !== repo[1]) rmSync(cloneDir, { recursive: true, force: true }); + } + process.chdir(distDir); // Incase current wd is broken, in which case exec / git crashes + await new Promise((res) => exec(`git clone ${url} ${cloneDir}`, res)); process.chdir(cloneDir);