Я тут перебрался на ссд и решил наконец-то сделать автобекап для конфигов. следующий код вешается на ".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: поточный вариант на шелл можно посмотреть здесь






