]> git.r.bdr.sh - rbdr/blog/blobdiff - lib/remotes/git.js
Add logic skeleton for rust version
[rbdr/blog] / lib / remotes / git.js
index 7a67462a0c6e9baf010a7ea0ce6053520d899722..75ef43ede2864ca68cd7070107abe9fa972bd42f 100644 (file)
@@ -1,48 +1,35 @@
-const { exec } = require('child_process');
-const { debuglog, promisify } = require('util');
+import { exec } from 'child_process';
+import { promisify } from 'util';
 
 const internals = {
   // Promisified functions
-  exec: promisify(exec),
-
-  debuglog: debuglog('blog'),
+  exec: promisify(exec)
 };
 
-module.exports = {
+export default {
   canHandle() {
+
     // For the future: actually check if it's a valid git url
     return true;
   },
 
   async syncUp(remote, blogDirectory) {
-    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);
+    await internals.exec(`cd ${blogDirectory} && git init -b main`);
+    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`);
   },
 
   async syncDown(remote, blogDirectory) {
-    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);
+    await internals.exec(`cd ${blogDirectory} && git init -b main`);
+    try {
+      await internals.exec(`cd ${blogDirectory} && git checkout .`);
+    }
+    catch {}
 
-    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);
+    await internals.exec(`cd ${blogDirectory} && git clean . -f`);
+    await internals.exec(`cd ${blogDirectory} && git pull ${remote} main`);
   }
-}
+};