Я тут перебрался на ссд и решил наконец-то сделать автобекап для конфигов. следующий код вешается на ".bash_logout" (а кстати есть шелло-независимый «что-то_logout»?)
`vcsh list`.strip().split(/\n/).each do |repo|
repo = repo.strip()
lines = `vcsh status #{repo}`.split(/\n/)
next if lines.empty?()
lines.each do |line|
filePath = line.sub(' M ', '')
message = "autoupdate of '#{filePath.gsub('../', '')}'"
`vcsh run #{repo} git commit #{filePath} -m "#{message}"`
end
`vcsh push > /dev/null`
end
ах, да. желательно не использовать башизмы
upd: поточный вариант на шелл можно посмотреть здесь