)]}'
{
  "commit": "ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9",
  "tree": "c08a5f358d76c15f1013e2c8e4d086f2cb8aeb9c",
  "parents": [
    "92f61532798b0fce5e1fef60f05e4f041c72e46e"
  ],
  "author": {
    "name": "Jason Lunn",
    "email": "jason.lunn@gmail.com",
    "time": "Thu Nov 09 03:45:50 2023 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Nov 09 03:48:30 2023 -0800"
  },
  "message": "Add support for options in CRuby, JRuby and FFI (#14594)\n\nRewrrte and extension of #12828, with additional work for JRuby. Partially fixes #1198 by adding support for custom options. Handling of extensions will be handled in a follow up.\n\nAlso includes these unrelated fixes:\n* Removes code echo between `google/protobuf/repeated_field.rb` and `google/protobuf/ffi/repeated_field.rb` by `require`\u0027ing the former in the latter.\n* Adds missing calles to `testFrozen()` from methods of `RepeatedField` under JRuby that mutate.\n* Various typos in comments.\n\nCloses #14594\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/14594 from protocolbuffers:add-support-for-options-in-ruby 16cc9e35b8635989af28962f4a54444a176a0559\nPiperOrigin-RevId: 580848874\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed1b9e17d2655255e755955cdaca0cecf8fcb97a",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/defs.c",
      "new_id": "4e805471773c41ebbb2b7890816c3a349ce3287e",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/defs.c"
    },
    {
      "type": "modify",
      "old_id": "3505437c8b95af2ebc8623635b1b23ba4f2c8870",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/glue.c",
      "new_id": "e51e364279f5a9c8b9dc88c2971884bb6619dc31",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/glue.c"
    },
    {
      "type": "modify",
      "old_id": "98ee489bc673b9f664b708daf28c7df7138971a7",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/map.c",
      "new_id": "e3bd80c05964eb8084f68e73b49de7a80cf214a5",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/map.c"
    },
    {
      "type": "modify",
      "old_id": "016a50c141dde980233a91ac4c34ce851b455302",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/map.h",
      "new_id": "d3cebc6a6909f9ef3666d33e85ff5260f0f6f645",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/map.h"
    },
    {
      "type": "modify",
      "old_id": "a15e0fa098950c6e56a6d1d39e833c92dd2533a7",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/message.c",
      "new_id": "2dec31a89ccf7145d043cf8d5c3bf7518a0b47c9",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/message.c"
    },
    {
      "type": "modify",
      "old_id": "5e354b05d7f44f12d5ae8293cc98a0478f70cd0c",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/message.h",
      "new_id": "cb6897f0d45bf6370cd0a43723a603d6fb06cbc5",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/message.h"
    },
    {
      "type": "modify",
      "old_id": "f5ca3cae4632d95991b4c7fc058e85098a466526",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/repeated_field.c",
      "new_id": "19601267495539af83fadf12303738f6bfaa5fbd",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/repeated_field.c"
    },
    {
      "type": "modify",
      "old_id": "97a908e6d6d652da83e4db45d4f9e2f7bff1481b",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/repeated_field.h",
      "new_id": "f3f7a50cd5870f0678508bfcfa4f632fa9b6ba69",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/repeated_field.h"
    },
    {
      "type": "modify",
      "old_id": "c878eb5b77f71aabafcc589cedb6e0a3aed90252",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/descriptor.rb",
      "new_id": "25d226abd1d441b9ce145e0e07687e669ddd73e8",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/descriptor.rb"
    },
    {
      "type": "modify",
      "old_id": "bd9c96df99bc05c824392544d44e92e717865630",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/descriptor_pool.rb",
      "new_id": "f0543adbb323fcefdb2060ed5d9bf227c5de4c75",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/descriptor_pool.rb"
    },
    {
      "type": "modify",
      "old_id": "773cf7305eb1ca6f932733aaa118cfa95a0e1a25",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/enum_descriptor.rb",
      "new_id": "a1f4fefcd520d70c6171ecb89416cda0fd2ce35d",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/enum_descriptor.rb"
    },
    {
      "type": "modify",
      "old_id": "800661bbd80c531dbb7423f13cb18b4d3f966bf7",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/field_descriptor.rb",
      "new_id": "d7c45da193d367b0baeca8b995e7b6b4b2a10f04",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/field_descriptor.rb"
    },
    {
      "type": "modify",
      "old_id": "0a465ecdbf5430261839ebb26c539e27b058fef5",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/file_descriptor.rb",
      "new_id": "291ac4f3e41ad3005afe8610d122ca53182ddf4a",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/file_descriptor.rb"
    },
    {
      "type": "modify",
      "old_id": "50c917e63fc5acbdfba48884685fc8a7ea6e1fe9",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/map.rb",
      "new_id": "61abbe53b0bcc4858d10ef9f8376f1b84a7760e9",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/map.rb"
    },
    {
      "type": "modify",
      "old_id": "d53d43781926d445c934a825507112fd60898abb",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/message.rb",
      "new_id": "045f67f9083b4db82b18bb0d7c00099d64c02fa8",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/message.rb"
    },
    {
      "type": "modify",
      "old_id": "00d1d04ea3dbafa2725e707d72a9bd0a10f237ab",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/oneof_descriptor.rb",
      "new_id": "00acc995c18dc45ced3afd135dc77e831a1a3fac",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/oneof_descriptor.rb"
    },
    {
      "type": "modify",
      "old_id": "c75ea1728493156404399130882377d017244e64",
      "old_mode": 33188,
      "old_path": "ruby/lib/google/protobuf/ffi/repeated_field.rb",
      "new_id": "ccc95ad6f425cf81491a6e8410ab8ce1b14d8bae",
      "new_mode": 33188,
      "new_path": "ruby/lib/google/protobuf/ffi/repeated_field.rb"
    },
    {
      "type": "modify",
      "old_id": "b80925331525ef5a1ed4b4d3c3ee151bb19411df",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyDescriptor.java",
      "new_id": "aa64d1a5e74f29451d5067f90604e9e45998160f",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "24c03cd4d9c76de7da016d4ae90333cd56a29472",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyEnumDescriptor.java",
      "new_id": "7e8247c014bd9e067af519a57742daabda775b7d",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyEnumDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "50f42cfa7056086c0116d1e0a0b24f95dd1abf40",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyFieldDescriptor.java",
      "new_id": "5ba86ef2a74a869a676247f6b281224a6d42218c",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyFieldDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "650480684f7b42e3f45fd2e53c2a0336f961e9cc",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyFileDescriptor.java",
      "new_id": "db9580de984e6d7a76e9f4b78208a19188cd07e8",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyFileDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "8727b13cf7dc57d44260f570945469c5091ecb76",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyMap.java",
      "new_id": "f3849b1b2a353a28c986c03b84210e5e25ac3e47",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyMap.java"
    },
    {
      "type": "modify",
      "old_id": "209f35eeb35c3bd7621cc6e4fb8a95178f0a18d9",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java",
      "new_id": "25f9dca589ada0ac5fb25a903d0674d73830f045",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java"
    },
    {
      "type": "modify",
      "old_id": "5ade98b7f32b069744c97689e83fc302c435003c",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyOneofDescriptor.java",
      "new_id": "36fe2d0e8a5f5aa36c294d1babc575ac3e98a08f",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyOneofDescriptor.java"
    },
    {
      "type": "modify",
      "old_id": "90ab5415187b1bd2a220fe4a0d377dcde8e14900",
      "old_mode": 33188,
      "old_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyRepeatedField.java",
      "new_id": "085dd1cc0f53fce14e916de5746134ce0037d8d6",
      "new_mode": 33188,
      "new_path": "ruby/src/main/java/com/google/protobuf/jruby/RubyRepeatedField.java"
    },
    {
      "type": "modify",
      "old_id": "b70f6304a883a333a41194941f8d2a038e055a21",
      "old_mode": 33261,
      "old_path": "ruby/tests/basic.rb",
      "new_id": "9cd2d705ecca1e2609f896cf853d951911c2076f",
      "new_mode": 33261,
      "new_path": "ruby/tests/basic.rb"
    },
    {
      "type": "modify",
      "old_id": "d480d48e548b7058b2c40165bcef228efc26fb4b",
      "old_mode": 33188,
      "old_path": "ruby/tests/basic_test.proto",
      "new_id": "89eb9cc3cf6cdce237c01f4d408de6755b4aa2a6",
      "new_mode": 33188,
      "new_path": "ruby/tests/basic_test.proto"
    }
  ]
}
