From 8bc7a50dfa91dd7ba6b657aca6dbc437fa6df6b7 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 18 Aug 2023 04:54:42 +0000
Subject: [PATCH] format

---
 quartz/bootstrap-cli.mjs |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/quartz/bootstrap-cli.mjs b/quartz/bootstrap-cli.mjs
index 0285551..ee62a56 100755
--- a/quartz/bootstrap-cli.mjs
+++ b/quartz/bootstrap-cli.mjs
@@ -192,7 +192,10 @@
 
       await rmContentFolder()
       if (setupStrategy === "copy") {
-        await fs.promises.cp(originalFolder, contentFolder, { recursive: true })
+        await fs.promises.cp(originalFolder, contentFolder, {
+          recursive: true,
+          preserveTimestamps: true,
+        })
       } else if (setupStrategy === "symlink") {
         await fs.promises.symlink(originalFolder, contentFolder, "dir")
       }
@@ -267,6 +270,15 @@
     spawnSync("npm", ["i"], { stdio: "inherit" })
     console.log(chalk.green("Done!"))
   })
+  .command(
+    "restore",
+    "Try to restore your content folder from the cache",
+    CommonArgv,
+    async (argv) => {
+      const contentFolder = path.join(cwd, argv.directory)
+      await popContentFolder(contentFolder)
+    },
+  )
   .command("sync", "Sync your Quartz to and from GitHub.", SyncArgv, async (argv) => {
     const contentFolder = path.join(cwd, argv.directory)
     console.log(chalk.bgGreen.black(`\n Quartz v${version} \n`))
@@ -275,15 +287,14 @@
     if (argv.commit) {
       const contentStat = await fs.promises.lstat(contentFolder)
       if (contentStat.isSymbolicLink()) {
+        const linkTarg = await fs.promises.readlink(contentFolder)
         console.log(chalk.yellow("Detected symlink, trying to dereference before committing"))
 
         // stash symlink file
         await stashContentFolder(contentFolder)
 
         // follow symlink and copy content
-        const linkTarg = await fs.promises.readlink(contentFolder)
         await fs.promises.cp(linkTarg, contentFolder, {
-          force: true,
           recursive: true,
           preserveTimestamps: true,
         })
@@ -293,11 +304,12 @@
         dateStyle: "medium",
         timeStyle: "short",
       })
-      spawnSync("git", ["commit", "-am", `Quartz sync: ${currentTimestamp}`], { stdio: "inherit" })
+      spawnSync("git", ["add", "."], { stdio: "inherit" })
+      spawnSync("git", ["commit", "-m", `Quartz sync: ${currentTimestamp}`], { stdio: "inherit" })
 
       if (contentStat.isSymbolicLink()) {
         // put symlink back
-        await popContentFolder()
+        await popContentFolder(contentFolder)
       }
     }
 

--
Gitblit v1.10.0