module Avmtrf1::Patches::Avm::Git::Launcher::Base::InstanceMethods

def parse_status_file(line)

def parse_status_file(line)
  m = /\A(.)(.)\s*(\S.*)\z/.match(line.strip)
  return ::OpenStruct.new(stage: m[1], dirty: m[2], path: m[3]) if m # rubocop:disable Style/OpenStructUse
  raise "\"#{line.strip}\" did not match pattern"
end

def status_files

def status_files
  execute!('-c', 'core.quotepath=off', 'status', '--porcelain')
    .each_line.map do |line|
    parse_status_file(line)
  end
end