| 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) |
|
|