Sha256: 9c8c864d15db732ab4214ffd0bec59d8bfd37c641aa1cd16d9f88a53a65b805a

Contents?: true

Size: 797 Bytes

Versions: 14

Compression:

Stored size: 797 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Avm
  module Git
    module Scms
      class Git < ::Avm::Scms::Base
        class ChangeTracker
          common_constructor :git_scm, :commit_info
          attr_reader :starting_commit

          delegate :git_repo, to: :git_scm

          def start
            raise 'Repository is dirty' if git_repo.dirty?

            self.starting_commit = git_repo.head
          end

          # @return [Avm::Git::Scms::Git::Commit, nil]
          def stop
            git_scm.commit_dirty
            return nil if starting_commit == git_repo.head

            git_scm.reset_and_commit(starting_commit, commit_info)
          end

          private

          attr_writer :starting_commit
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

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