d12frosted/homebrew-emacs-plus · error · ConfigurationError

Invalid 'revision' in #{path} Expected: git commit hash or v

Error message

Invalid 'revision' in #{path}
Expected: git commit hash or version-specific hash map
Got: #{revision.inspect} (#{revision.class})

Examples:
  revision: abc123def456
or:
  revision:
    "30": abc123
    "31": def456

What it means

Error "Invalid 'revision' in #{path} Expected: git commit hash or version-specific hash map Got: #{revision.inspect} (#{revision.class}) Examples: revision: abc123def456 or: revision: "30": abc123 "31": def456" thrown in d12frosted/homebrew-emacs-plus.

Source

Thrown at Library/BuildConfig.rb:335

      when String
        unless revision.match?(/\A[a-f0-9]+\z/i)
          raise ConfigurationError,
            "Invalid 'revision' in #{path}\n" \
            "Expected: git commit hash (hex string)\n" \
            "Got: #{revision.inspect}"
        end
      when Hash
        validate_version_map_keys!(revision, "revision", path)
        revision.each do |ver, rev|
          unless rev.is_a?(String) && rev.match?(/\A[a-f0-9]+\z/i)
            raise ConfigurationError,
              "Invalid 'revision.#{ver}' in #{path}\n" \
              "Expected: git commit hash (hex string)\n" \
              "Got: #{rev.inspect}"
          end
        end
      else
        raise ConfigurationError,
          "Invalid 'revision' in #{path}\n" \
          "Expected: git commit hash or version-specific hash map\n" \
          "Got: #{revision.inspect} (#{revision.class})\n\n" \
          "Examples:\n" \
          "  revision: abc123def456\n" \
          "or:\n" \
          "  revision:\n" \
          "    \"30\": abc123\n" \
          "    \"31\": def456"
      end
    end

    # Print config contents for verbose output
    # @param config [Hash] The configuration hash
    # @param source [String] Path to the config file
    # @param context [Symbol] :formula or :cask
    # @param output [Proc] Output method (e.g., method(:puts) or Homebrew's ohai)
    def print_config(config, source, context: :formula, output: method(:puts))

View on GitHub (pinned to 01c47fe98f)

Solutions

  1. Set 'revision' to a git commit hash string, e.g. 'revision: abc123def456'.
  2. Or use a version-specific map: revision: "30": abc123 "31": def456
  3. Remove 'revision' if you want to build the default branch head instead of pinning a commit.

When it happens

Trigger: Thrown at Library/BuildConfig.rb:335 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of d12frosted/homebrew-emacs-plus@01c47fe98f (2026-08-23). Data as JSON: /api/errors/37c9242f5038dbb8. Report an issue: GitHub.