Sha256: 53a17fe412b86e6d6d62e867be3a4ba1610c830382853b38362fd5cbc3516fdf

Contents?: true

Size: 789 Bytes

Versions: 12

Compression:

Stored size: 789 Bytes

Contents

# frozen_string_literal: true

require 'avm/scms/interval'
require 'eac_ruby_utils/core_ext'

module Avm
  module Git
    module Scms
      class Git < ::Avm::Scms::Base
        class Interval < ::Avm::Scms::Interval
          def initialize(scm, from, to)
            super(scm, from, to)
            self.from = scm.commit(from)
            self.to = scm.commit(to)
          end

          # @return [Array<Avm::Git::Scms::Git::Commit>]
          def commits
            scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
              .each_line.map { |sha1| scm.commit(sha1.strip) }
          end

          # @return [String]
          def git_commit_interval
            [from.id, to.id].join('..')
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
avm-git-0.17.0 lib/avm/git/scms/git/interval.rb
eac_tools-0.86.5 sub/avm-git/lib/avm/git/scms/git/interval.rb
avm-git-0.16.0 lib/avm/git/scms/git/interval.rb
eac_tools-0.86.4 sub/avm-git/lib/avm/git/scms/git/interval.rb
eac_tools-0.86.3 sub/avm-git/lib/avm/git/scms/git/interval.rb
avm-git-0.15.0 lib/avm/git/scms/git/interval.rb
eac_tools-0.86.2 sub/avm-git/lib/avm/git/scms/git/interval.rb
eac_tools-0.84.0 sub/avm-git/lib/avm/git/scms/git/interval.rb
eac_tools-0.83.0 sub/avm-git/lib/avm/git/scms/git/interval.rb
eac_tools-0.82.0 sub/avm-git/lib/avm/git/scms/git/interval.rb
avm-git-0.14.0 lib/avm/git/scms/git/interval.rb
eac_tools-0.81.0 sub/avm-git/lib/avm/git/scms/git/interval.rb