|
const fs = require('fs') |
|
const path = require('path') |
|
const execSync = require('child_process').execSync |
|
|
|
function exec(command, options) { |
|
try { |
|
const { stdout, stderr } = execSync(command, options) |
|
if (stderr) { |
|
throw new Error(stderr) |
|
} |
|
console.log(stdout) |
|
} catch (e) { |
|
console.log('Exec Error:', e) |
|
} |
|
} |
|
|
|
const root = __dirname |
|
function loop() { |
|
const dirs = fs.readdirSync(root) |
|
for (let dir of dirs) { |
|
const cwd = path.join(root, dir) |
|
if (fs.existsSync(path.join(cwd, '.git/config'))) { |
|
console.log('auto commit', cwd) |
|
exec(`git add -A`, { cwd }) |
|
exec(`git commit -am "[WIP] auto commit"`, { cwd }) |
|
exec(`git push`, { cwd }) |
|
console.log('done') |
|
} |
|
} |
|
} |
|
|
|
setInterval(loop, 600 * 1000) |
|
|