X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/bd8c1fa2774b98b22939d60c06a06525691867ce..0e276d039b8613de0cbd302bf328bb660ab063b6:/lib/remotes/git.js?ds=sidebyside diff --git a/lib/remotes/git.js b/lib/remotes/git.js index 7a67462..75ef43e 100644 --- a/lib/remotes/git.js +++ b/lib/remotes/git.js @@ -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`); } -} +};