]> git.r.bdr.sh - rbdr/blog/commitdiff
Fixes for remote setup
authorRuben Beltran del Rio <redacted>
Fri, 9 Dec 2022 17:07:29 +0000 (18:07 +0100)
committerRuben Beltran del Rio <redacted>
Fri, 9 Dec 2022 17:07:29 +0000 (18:07 +0100)
lib/blog.js
lib/remote.js
lib/remotes/git.js

index ba9ae534f25b067acde2b271f2139f51b02b79f7..0b291dfa71b8c00dd40438c30e5728459f38ae52 100644 (file)
@@ -76,8 +76,10 @@ module.exports = class Blog {
     }
     catch {};
     await this._shift();
-    await this._ensurePostsDirectoryExists(join(this.postsDirectory, '0'));
-    await this.update(postLocation);
+    const firstDirectory = join(this.postsDirectory, '0'); 
+    await rm(firstDirectory, { recursive: true, force: true });
+    await this._ensurePostsDirectoryExists(firstDirectory);
+    await this._update(postLocation);
   }
 
   /**
@@ -96,18 +98,7 @@ module.exports = class Blog {
       await this.syncDown();
     }
     catch {};
-    const metadata = await this._getMetadata();
-    await this._ensurePostsDirectoryExists();
-    await this._copyPost(postLocation);
-    await this._writeMetadata(metadata);
-
-    await this._archive(postLocation);
-
-    await this.generate();
-    try {
-      await this.syncUp();
-    }
-    catch {};
+    const metadata = await this._update();
   }
 
   /**
@@ -206,7 +197,9 @@ module.exports = class Blog {
    * @instance
    */
   async syncDown() {
+    internals.debuglog('Pulling remote state');
     await Remote.syncDown(this.remoteConfig, this.blogDirectory)
+    internals.debuglog('Pulled remote state');
   }
 
   /**
@@ -218,9 +211,30 @@ module.exports = class Blog {
    * @instance
    */
   async syncUp() {
+    internals.debuglog('Pushing remote state');
     await Remote.syncUp(this.remoteConfig, this.blogDirectory)
+    internals.debuglog('Pushed remote state');
   }
 
+  // Adds the passed path to slot 0, and generates files.
+
+  async _update(postLocation) {
+
+    const metadata = await this._getMetadata();
+    await this._ensurePostsDirectoryExists();
+    await this._copyPost(postLocation);
+    await this._writeMetadata(metadata);
+
+    await this._archive(postLocation);
+
+    await this.generate();
+    try {
+      await this.syncUp();
+    }
+    catch {};
+  }
+
+
   // Parses Gemini for each page, copies assets and generates index.
 
   async generate() {
index d8f73f9325daf2be886495e9efd952e50ed459c9..569cd254daf02dad73df75fb502b4730b8db5bfc 100644 (file)
@@ -19,11 +19,11 @@ module.exports = {
   },
 
   async syncUp(remoteConfig, blogDirectory) {
-    this._executeMethodOnStrategy(remoteConfig, 'syncUp', blogDirectory);
+    await this._executeMethodOnStrategy(remoteConfig, 'syncUp', blogDirectory);
   },
 
   async syncDown(remoteConfig, blogDirectory) {
-    this._executeMethodOnStrategy(remoteConfig, 'syncDown', blogDirectory);
+    await this._executeMethodOnStrategy(remoteConfig, 'syncDown', blogDirectory);
   },
 
   async _executeMethodOnStrategy(remoteConfig, method, blogDirectory) {
index d8e0cfd63e4a30e625a80abddc5ce8125a0b730d..7a67462a0c6e9baf010a7ea0ce6053520d899722 100644 (file)
@@ -15,16 +15,34 @@ module.exports = {
   },
 
   async syncUp(remote, blogDirectory) {
-    await internals.exec(`cd ${blogDirectory} && git init`);
-    await internals.exec(`cd ${blogDirectory} && git add .`);
-    await internals.exec(`cd ${blogDirectory} && git commit --allow-empty -m blog-sync-up-${Date.now()}`);
-    await internals.exec(`cd ${blogDirectory} && git push ${remote} main --force`);
+    let output = null;
+
+    output = await internals.exec(`cd ${blogDirectory} && git init`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git add .`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git commit --allow-empty -m blog-sync-up-${Date.now()}`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git push ${remote} main --force`);
+    internals.debuglog(output.stderr);
   },
 
   async syncDown(remote, blogDirectory) {
-    await internals.exec(`cd ${blogDirectory} && git init`);
-    await internals.exec(`cd ${blogDirectory} && git checkout .`);
-    await internals.exec(`cd ${blogDirectory} && git clean . -f`);
-    await internals.exec(`cd ${blogDirectory} && git pull ${remote} main`);
+    let output = null;
+
+    output = await internals.exec(`cd ${blogDirectory} && git init`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git checkout .`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git clean . -f`);
+    internals.debuglog(output.stderr);
+
+    output = await internals.exec(`cd ${blogDirectory} && git pull ${remote} main`);
+    internals.debuglog(output.stderr);
   }
 }