X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/f91c2b4feb85933bc190712b45788d2f24fe851d..3c39d1553de92cd6cac891f2c3b186701ec60332:/lib/remotes/git.js diff --git a/lib/remotes/git.js b/lib/remotes/git.js index 11fdab8..75ef43e 100644 --- a/lib/remotes/git.js +++ b/lib/remotes/git.js @@ -1,12 +1,12 @@ -const { exec } = require('child_process'); -const { promisify } = require('util'); +import { exec } from 'child_process'; +import { promisify } from 'util'; const internals = { // Promisified functions - exec: promisify(exec), + exec: promisify(exec) }; -module.exports = { +export default { canHandle() { // For the future: actually check if it's a valid git url @@ -15,7 +15,7 @@ module.exports = { async syncUp(remote, blogDirectory) { - await internals.exec(`cd ${blogDirectory} && git init`); + 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`); @@ -23,9 +23,13 @@ module.exports = { async syncDown(remote, blogDirectory) { - await internals.exec(`cd ${blogDirectory} && git init`); - await internals.exec(`cd ${blogDirectory} && git checkout .`); + await internals.exec(`cd ${blogDirectory} && git init -b main`); + try { + await internals.exec(`cd ${blogDirectory} && git checkout .`); + } + catch {} + await internals.exec(`cd ${blogDirectory} && git clean . -f`); await internals.exec(`cd ${blogDirectory} && git pull ${remote} main`); } -} +};