File size: 901 Bytes
8224768 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
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() {
console.log(new Date(), 'auto commit start')
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')
}
}
}
// loop()
const timeout = process.env.AUTO_COMMIT || 86400
if (timeout > 600) {
setInterval(loop, 1000 * timeout)
} |