)]}'
{
  "commit": "4f9e41767a819abf8108bb29e4910fbc0f37dc6e",
  "tree": "a58a41ba4855af5b55f7bbe4f995c4656889c1aa",
  "parents": [
    "bd589d906023faf0aeeddaaf132394614e5abdf4"
  ],
  "author": {
    "name": "Mike Kruskal",
    "email": "mkruskal@google.com",
    "time": "Fri Jun 30 20:14:50 2023 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Jun 30 20:18:49 2023 -0700"
  },
  "message": "Release prototype of Protobuf Editions.\n\nThis represents the future direction of protobuf, replacing proto2/proto3 syntax with editions.  These will enable more incremental evolution of protobuf APIs through features, which are individual behaviors (such as whether field presence is explicit or implicit).  For more details see https://protobuf.dev/editions/overview/.\n\nThis PR contains a working implementation of editions for the protoc frontend and C++ code generation, along with various infrastructure improvements to support it.  It gives early access for anyone who wants to a preview of editions, but has no effect on proto2/proto3 syntax.  It is flag-guarded behind the `--experimental_editions` flag, and is an experimental feature with no guarantees.\n\nPiperOrigin-RevId: 544805690\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "637882c49e68a698ffe68125fdd9a7f12073e4ac",
      "old_mode": 33188,
      "old_path": "BUILD.bazel",
      "new_id": "a5fa012e124638e4c8450d319570408ccaba83d7",
      "new_mode": 33188,
      "new_path": "BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e7eb2103be6ef36d199014d6f46c1ef43437de61",
      "old_mode": 33188,
      "old_path": "cmake/install.cmake",
      "new_id": "c52f692dfe27cbafe868385482eddf9ef7231f4b",
      "new_mode": 33188,
      "new_path": "cmake/install.cmake"
    },
    {
      "type": "modify",
      "old_id": "bf8ceaa94f8830fa7b9789f53aad412c2c19156c",
      "old_mode": 33188,
      "old_path": "cmake/tests.cmake",
      "new_id": "e2559e910e95528336c37f5366a71bd3c7aa2c71",
      "new_mode": 33188,
      "new_path": "cmake/tests.cmake"
    },
    {
      "type": "modify",
      "old_id": "43a060b532d70b37d40ca24bee51187890cd71a1",
      "old_mode": 33261,
      "old_path": "generate_descriptor_proto.sh",
      "new_id": "0eb158146fef517f5c6e77791ef6d02f0bf95579",
      "new_mode": 33261,
      "new_path": "generate_descriptor_proto.sh"
    },
    {
      "type": "modify",
      "old_id": "c174b98748b77b3ebaf10204f8dd3d1fdf78f705",
      "old_mode": 33188,
      "old_path": "php/ext/google/protobuf/php-upb.c",
      "new_id": "18206b849d7cf864924ace6c210a2344bd531274",
      "new_mode": 33188,
      "new_path": "php/ext/google/protobuf/php-upb.c"
    },
    {
      "type": "modify",
      "old_id": "9b72ef190165bd8fbf01db5f4fd9a286159ae817",
      "old_mode": 33188,
      "old_path": "php/ext/google/protobuf/php-upb.h",
      "new_id": "ff116f6216b2dfcb30fa9029e285ddafb345e3ee",
      "new_mode": 33188,
      "new_path": "php/ext/google/protobuf/php-upb.h"
    },
    {
      "type": "modify",
      "old_id": "69afd75050f004144d3dd9f123bd6ba3fb0a601a",
      "old_mode": 33188,
      "old_path": "pkg/BUILD.bazel",
      "new_id": "bd9df1b33fead7bfcb3ca79eb9f32ac0413565e7",
      "new_mode": 33188,
      "new_path": "pkg/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "cb0dc8be91eb3f9a849a7e2bb8952dae4f9b240f",
      "old_mode": 33188,
      "old_path": "ruby/ext/google/protobuf_c/ruby-upb.c",
      "new_id": "3e286066ac45f2d4691b8da644b123c8e1daa014",
      "new_mode": 33188,
      "new_path": "ruby/ext/google/protobuf_c/ruby-upb.c"
    },
    {
      "type": "modify",
      "old_id": "473bc19c7a8766548eabe219a568ac34c8755f16",
      "old_mode": 33261,
      "old_path": "ruby/ext/google/protobuf_c/ruby-upb.h",
      "new_id": "7afc703a9cda016dcaf13f0289614dac50491ab8",
      "new_mode": 33261,
      "new_path": "ruby/ext/google/protobuf_c/ruby-upb.h"
    },
    {
      "type": "modify",
      "old_id": "8e8f71b2a114802ed732ce295f9aa653f60efd34",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/BUILD.bazel",
      "new_id": "9d340ecb1d2479e387788fb44c84d5ba465a490d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b76bbae8f647c54912dcbccdb7538e49716ec1ed",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/bridge/BUILD.bazel",
      "new_id": "c219b3814ca5d5d297029369a3f1f60bdb8745d6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/bridge/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "488c238e1ebbe1f43b5240459bd382d153504180",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/BUILD.bazel",
      "new_id": "58989380001864a6e4d9564726487cdab6f50a09",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7c08bbbdab9bb6acf53ff68bc814bf3b21862d04",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/allowlists/editions.cc",
      "new_id": "39bac6567610aee4bb9da66f1325c484d0284c8e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/allowlists/editions.cc"
    },
    {
      "type": "modify",
      "old_id": "20a6f44278d582e8b128d637514fd9b9579f8466",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/code_generator.h",
      "new_id": "cff469753bddb5d10fc70f0ef8a252b3d4b1ed19",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/code_generator.h"
    },
    {
      "type": "modify",
      "old_id": "7d5cb6a34abaae7557b95402adfff95800df8ab4",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/command_line_interface.cc",
      "new_id": "0890e6354fbe9be31f59bb26fb12b1ca5cc84bc0",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/command_line_interface.cc"
    },
    {
      "type": "modify",
      "old_id": "c042983710de173ca0cd2611c12d8d9fb5451617",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/command_line_interface.h",
      "new_id": "51e2312fc9774bb96c0ea51358e28a9b07ba1f8c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/command_line_interface.h"
    },
    {
      "type": "modify",
      "old_id": "4515ac199a472c14292b65e1d56b2f4898652c06",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/command_line_interface_unittest.cc",
      "new_id": "07cd76d8e0820ec2fa67dfb364778f75d9ff5b21",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/command_line_interface_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "674f2fb0c6d480088a17fcfb0b590ffc27923615",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/BUILD.bazel",
      "new_id": "aa9777c99d2f7d946c7a8e56a49c087a2176a311",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "5223d19f19ca2fcce6ae4705cb86acc9bdb3c0b1",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/bootstrap_unittest.cc",
      "new_id": "856a06c6896b65c0fb46a7bdae7f37cbca4d8266",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/bootstrap_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "c42e708bc47011ca299c1504042d6ecc92963746",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/generator.cc",
      "new_id": "73224ac0fde2eb36b8f65cf746a98416bd956d10",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/generator.cc"
    },
    {
      "type": "modify",
      "old_id": "90e17bc400319dcab4bcfde52e6925df93372887",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/generator_unittest.cc",
      "new_id": "af3148899d5a3f9b8611df8453c668d5ecd89c93",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/generator_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "a850fcceaf6b9cd62e40be81dd316d55cd2a895c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/cpp/helpers.cc",
      "new_id": "e57f35e004f073f40aa4b9c1540d8e8ebb99c4e4",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/cpp/helpers.cc"
    },
    {
      "type": "modify",
      "old_id": "a798dda4341a60621c0af2e069ee457d5cd91954",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/objectivec/file.cc",
      "new_id": "e0b76069e2fd22e94b320998012800ba8b69640c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/objectivec/file.cc"
    },
    {
      "type": "modify",
      "old_id": "5526c47ce7a9fde589a2ef17b6ba1ed22cc9f936",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/parser.cc",
      "new_id": "5bff5a94cda0338e9f29d3dec9cf135a82aa8ae2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/parser.cc"
    },
    {
      "type": "modify",
      "old_id": "357d02cb894362a9ede7ebaab81d715efec52b7e",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/parser.h",
      "new_id": "8f8866267f6ae95adf280d24dd61c75fd69dd9e5",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/parser.h"
    },
    {
      "type": "modify",
      "old_id": "3bb4e53159ab368c0694218afcce460b47a6ad98",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/compiler/parser_unittest.cc",
      "new_id": "24e478bc6dc6a126e556fd4dcc8699f22ae097ec",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/compiler/parser_unittest.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bc05b172ac9d18ebbaa4dc04c02c9065f323fbb",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "37b61e6c14e2ce3c46098342897f92192de103cc",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.pb.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee0977b84259d75b30c079d8e69d56e96ae40e6c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/cpp_features.proto"
    },
    {
      "type": "modify",
      "old_id": "641ef31201c1c25b7adeb344be72ccbe5bd5d045",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.cc",
      "new_id": "a5d9faeddebf35e6fa9623841e82598673e2c33b",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.cc"
    },
    {
      "type": "modify",
      "old_id": "db81ed790f1e7404392d5b065b3bda3205c3a789",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.h",
      "new_id": "f39ddf696b32d124a6166b5b149efbefe883e638",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.h"
    },
    {
      "type": "modify",
      "old_id": "3c89c4c1d7616e9623badaf6217d1f07d1ec97b6",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.cc",
      "new_id": "a73eb9b8eb120bb19c9872ff954f044369a8e385",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.cc"
    },
    {
      "type": "modify",
      "old_id": "f57fdae93e89d1fb5a3c24a82e47b0d2762b15cf",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.pb.h",
      "new_id": "d581050c371035b97c81e30545dc6595a4ec5b09",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.pb.h"
    },
    {
      "type": "modify",
      "old_id": "b29eaf46ce63894c652008865d9b779db67bf385",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor.proto",
      "new_id": "ed2f8ddd0dc7e1acae48627ab601519d85eb0257",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor.proto"
    },
    {
      "type": "modify",
      "old_id": "75b9cfa9ba256c9eff077595dd37a0346c16c94b",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor_legacy.h",
      "new_id": "8d04b203fe36c54ef79339f869c99d1c6db549ff",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor_legacy.h"
    },
    {
      "type": "modify",
      "old_id": "516ae6566b0d09553ae445097bfb8cdccd45925e",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/descriptor_unittest.cc",
      "new_id": "27c368c03dde08c7fca382fe0260938efe2f85c3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/descriptor_unittest.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9cf1f25307295ad6e5cc6c4a024cc4d9bb063a57",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5bda10080b3c3946c8a286d0ba4dcbdefb7b3e0a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "986a0e06a875e5d1f535bbb136201fc9d08d459a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_enum.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb59a91017992f1ca9cd5b3e3c6249b1b718bf72",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_group.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df8455a3ca4cf5c4f9b5df87af76e8f1dac6082a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_import.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36b80682c85015c554463c6341cc381bf28735c6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_optional.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "62bc16633abc70b7ca76e43462f94dac09d4352e",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_packed.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b650f21913078ba82fcb4d27fd30340b52c4a9c5",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_proto3_enum.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b76ee3af48bb195f09a2ea1cd908ba36536a1d08",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_required.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f82045ecf57238d34a409d914a34215b2d7188d1",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_unpacked.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2d2033bacb8fc2468c9568297bcda7fa45295d61",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_utf8_disabled.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c48f22cb194fb7d05e3993cb0d832e9c5aff30c6",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto2_utf8_verify.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "921efa7508a34f41c93d54abf7b8d315ac4356f9",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_enum.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d65fd719ce335a13eed9df646641713d65829b8f",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_implicit.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05699b1ba7b0983b35ee2d7e4560b7d071e60b16",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_import.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "767ad85e8552dc2e5c6dc0f6aecd68160fadeaea",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_optional.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "043355b61900c470b424a404b5da46711cd21a3a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_packed.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ecf541613e2557234a3e73b31246e2ca3b43a31",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_unpacked.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11ad005ce7c69c91046c585067dd7f5960f3e549",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_utf8_disabled.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "018d09810d42bd4e98354cfb1e5a7f21f730d6e7",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/codegen_tests/proto3_utf8_strict.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c772230e27874459f90e18fa2a76c4de6cc404a3",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/generated_files_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89815c0f892038856dbd7c6f4bd02f02c265333c",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/generated_reflection_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fa33da63cd8423fb8c47fa5c94c302d1b1c88d47",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_failure.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9668360bb3371659838e02fd8bc5ee60fb91395",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_failure.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b21fd68b70a9847b8d2166722e37d162c1ea53d7",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_multiple.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c93b7f1e87cb1be8c58a14942b76604fda90af09",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_multiple.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c5c6d459f5bd1dcca8f7707229fe377009f0b55",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_success.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65fc89aa2ccd89a0e0effa9adf0d79936cd0271a",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/compare_codegen_success.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0857e8bc3cd6e0b381bd3bfb0a4d4893b3b6c7ea",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/editions_transform_proto2.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0e9731df1bdb1951aa4b13af2b64401757f5dfb8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/simple_proto2.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31f0d46b3f847cae29f31a9b8c98f10271378c8d",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/simple_proto2_import.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e04f40382adcd0e38e5345c38b490ba1273b83db",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/simple_proto3.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e20b0987ebd8a79e66ba79d53cacd704075e1ea2",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/test_messages_proto2.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ce24bf90b629acb3525c2b8a58507e85ef6c3578",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/golden/test_messages_proto3.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "829cd6468ba95b58fb87e25a84fcdae4d13199ba",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/proto/editions_transform_proto2.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "58e3ae9f940223b022307ea1c38cf67f93d8becc",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/editions/transform.awk"
    },
    {
      "type": "modify",
      "old_id": "8eb49eaa8e683bdb1ce3990fa90ba83bae91c9e3",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/extension_set.h",
      "new_id": "bfd75a5c61c86ecc55377841e95846a4b03bb091",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/extension_set.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f57d9900e5506af388561b370ae0988b5d34d3f",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/feature_resolver.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "013dc65e8508f8b3bfad1946a2f035b65d9ee8de",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/feature_resolver.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8d1d7ce47beeef136b6657626e63544674b62832",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/feature_resolver_test.cc"
    },
    {
      "type": "modify",
      "old_id": "4e96c5b9c3c7fbf1b15a42626df38d42a5f9880c",
      "old_mode": 33188,
      "old_path": "src/google/protobuf/port_def.inc",
      "new_id": "8004570b4e2c1efc2f1cf7419d5984557c5c8c36",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/port_def.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "79ac22e9518f3cd778052af2518c06a69cf3ed75",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/unittest_features.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d19c8c4388416d108309fd2af12fdfad5f65c2e8",
      "new_mode": 33188,
      "new_path": "src/google/protobuf/unittest_invalid_features.proto"
    },
    {
      "type": "modify",
      "old_id": "a1853ca6cbf23e0d6e5b19532f3359122bac486d",
      "old_mode": 33188,
      "old_path": "src/libprotobuf-lite.map",
      "new_id": "6f3a36e481e1153479a74ee7b31302b30d901943",
      "new_mode": 33188,
      "new_path": "src/libprotobuf-lite.map"
    },
    {
      "type": "modify",
      "old_id": "a1853ca6cbf23e0d6e5b19532f3359122bac486d",
      "old_mode": 33188,
      "old_path": "src/libprotobuf.map",
      "new_id": "6f3a36e481e1153479a74ee7b31302b30d901943",
      "new_mode": 33188,
      "new_path": "src/libprotobuf.map"
    },
    {
      "type": "modify",
      "old_id": "a1853ca6cbf23e0d6e5b19532f3359122bac486d",
      "old_mode": 33188,
      "old_path": "src/libprotoc.map",
      "new_id": "6f3a36e481e1153479a74ee7b31302b30d901943",
      "new_mode": 33188,
      "new_path": "src/libprotoc.map"
    }
  ]
}
