def load_file(file)
      config = self.class.load_from_file(file, default: false, logger: @log)
      config = self.class.default_configuration.merge(config)

      if @options.fetch(:verify) { config.verify_signatures? }
        verify_signatures(config)
      end

      config
    rescue Overcommit::Exceptions::ConfigurationSignatureChanged
      raise
    rescue StandardError => error
      raise Overcommit::Exceptions::ConfigurationError,
            "Unable to load configuration from '#{file}': #{error}",
            error.backtrace
    end
def load_file(file)
      config = self.class.load_from_file(file, default: false, logger: @log)
      config = self.class.default_configuration.merge(config)

      if @options.fetch(:verify) { config.verify_signatures? }
        verify_signatures(config)
      end

      config
    rescue Overcommit::Exceptions::ConfigurationSignatureChanged
      raise
    rescue StandardError => error
      raise Overcommit::Exceptions::ConfigurationError,
            "Unable to load configuration from '#{file}': #{error}",
            error.backtrace
    end
Loads a configuration, ensuring it extends the default configuration.