Sha256: e59659393dbb2bd26cbdec356fecd26a429ad11e447fc405d42e7c5fca706966
Contents?: true
Size: 1.07 KB
Versions: 49
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true require 'avm/result' module Avm module Git module Issue class Complete def commits_result ::Avm::Result.success_or_error( commits.any? ? 'yes' : 'none', commits.any? ) end def commits_uncached return [] unless branch_hash && follow_master? interval = remote_master_hash ? "#{remote_master_hash}..#{branch_hash}" : branch_hash @git.execute!('rev-list', interval).each_line.map(&:strip) end def bifurcations_result commits.each do |commit| if multiple_parents?(commit) return ::Avm::Result.error("#{commit} has multiple parents") end end ::Avm::Result.success('no') end def multiple_parents?(commit) commit_parents(commit).count > 1 end def commit_parents(commit) @git.execute!('log', '--pretty=%P', '-n', '1', commit).split(' ').map(&:strip) .select(&:present?) end end end end end
Version data entries
49 entries across 49 versions & 1 rubygems