class ShareReReRe::PushReReRe

Public Instance Methods

execute(opts, argv) click to toggle source
# File lib/git_bpf/commands/share-rerere-cache.rb, line 62
def execute(opts, argv)
  rerere = Repository.new opts.work_tree
  lines = rerere.cmd("status", "--porcelain").split("\n").map { |a| a.chomp }
  if lines.empty?
    terminate "No resolutions to share."
  end

  lines.each do |line|
    if line =~ /^\?\?\s(\w+)\//
      folder = line.split("\s").last
      message = "Sharing resolution: #{folder}."
      rerere.cmd("add", folder)
      rerere.cmd("commit", "-m", message)
      rerere.cmd("push", "--quiet", opts.remote, opts.branch)
      puts message
    end
  end
end