Sha256: a0d03d00e6cffd86d47443cc22bd1bc329f1993ef693449027d69149722a7b67

Contents?: true

Size: 934 Bytes

Versions: 31

Compression:

Stored size: 934 Bytes

Contents

module Overcommit::Hook::Shared
  # Shared code used by all `SubmoduleStatus` hooks to notify the user if any
  # submodules are uninitialized, out of date with the current index, or contain
  # merge conflicts.
  module SubmoduleStatus
    def run
      messages = []
      submodule_statuses.each do |submodule_status|
        path = submodule_status.path
        if submodule_status.uninitialized?
          messages << "Submodule #{path} is uninitialized."
        elsif submodule_status.outdated?
          messages << "Submodule #{path} is out of date with the current index."
        elsif submodule_status.merge_conflict?
          messages << "Submodule #{path} has merge conflicts."
        end
      end

      return :pass if messages.empty?

      [:warn, messages.join("\n")]
    end

    private

    def submodule_statuses
      Overcommit::GitRepo.submodule_statuses(recursive: config['recursive'])
    end
  end
end

Version data entries

31 entries across 29 versions & 2 rubygems

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/shared/submodule_status.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/shared/submodule_status.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/shared/submodule_status.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.46.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.45.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.44.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.43.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.42.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.41.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.40.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.39.1 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.39.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.38.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.37.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.36.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.35.0 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.34.2 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.34.1 lib/overcommit/hook/shared/submodule_status.rb
overcommit-0.34.0 lib/overcommit/hook/shared/submodule_status.rb