docai / auto-commit.js
weaigc
init
8224768
raw
history blame contribute delete
No virus
901 Bytes
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)
}