# frozen_string_literal: true module StorageManager class Git < StorageManager::Local def delete(path) return unless exists?(path) super system!("git add #{base_path}#{path}") system!("git commit -m \"Remove #{path[1..]}\"") system!("git push") end def put(path, io) super if exists?(path) system!("git add #{base_path}#{path}") system!("git commit -m \"Add #{path[1..]}\"") system!("git push") end end private def system!(*) system(*, exception: true, chdir: base_path) end end end