)]}'
{
  "commit": "922a7ec18926aa2612d14a2b4abb8689477e97a4",
  "tree": "28ec7b2d2e7f14e8974f8f02efa40bc067c35d33",
  "parents": [
    "cb46755e6405e083b45481f5ea4754b180705529"
  ],
  "author": {
    "name": "Adam Cozzette",
    "email": "acozzette@google.com",
    "time": "Wed Oct 20 14:51:07 2021 -0700"
  },
  "committer": {
    "name": "Adam Cozzette",
    "email": "acozzette@google.com",
    "time": "Mon Jan 10 16:55:04 2022 -0800"
  },
  "message": "Fix Python 3.10 C++ tests (#9128)\n\nThe first change is to make sure we always define PY_SSIZE_T_CLEAN\r\nbefore including Python.h. Starting from Python 3.10 this is required.\r\nOtherwise we get errors like this:\r\n\r\nSystemError: PY_SSIZE_T_CLEAN macro must be defined for \u0027#\u0027 formats\r\n\r\nThe second change is to update reflection_test.py to account for the\r\nfact that with Python 3.10, we get a TypeError even with the C++\r\nimplementation when trying to assign a float to a bool field. I\u0027m not\r\nsure why this changed with Python 3.10, but it seems like a good thing\r\nsince this is the desired behavior anyway.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6532a8140575bd6d4e015c8dee1991844e62ae6a",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/internal/api_implementation.cc",
      "new_id": "802322424e3639247beddcfc987f37447afa0302",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/internal/api_implementation.cc"
    },
    {
      "type": "modify",
      "old_id": "9343389ed501853d98a95014f6529add17589e0f",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/internal/reflection_test.py",
      "new_id": "d1d595625df2794fba0839309994f6bd24a1bbfe",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/internal/reflection_test.py"
    },
    {
      "type": "modify",
      "old_id": "2e2156a56e8735808cb5bf8e451900b2dbcc0452",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/proto_api.h",
      "new_id": "9969a91f446f3898b792eeb8d845e62308971570",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/proto_api.h"
    },
    {
      "type": "modify",
      "old_id": "9708b84013fba29aea0c221a2456344137252d6d",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor.cc",
      "new_id": "a2993d908bfad52305c04d4403cc1b2bf17d5d2a",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor.cc"
    },
    {
      "type": "modify",
      "old_id": "b99209dd1996d3f91dbf4013a954a6d11d9a301b",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor.h",
      "new_id": "d97e2f8103ad67184fc4a78dbfc9943b950b2679",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor.h"
    },
    {
      "type": "modify",
      "old_id": "b084f5b8121b2e26dcd5b79ba51993cbc81637a4",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor_containers.cc",
      "new_id": "4caff6941ad83d3b41af68be45fa5f6c85e4864f",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor_containers.cc"
    },
    {
      "type": "modify",
      "old_id": "4e05c58e2b64d554e65fc0113ad8fb3a8680d4fa",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor_containers.h",
      "new_id": "cf2cf4ad0b0de26c8b74c94b066c8db426ef3114",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor_containers.h"
    },
    {
      "type": "modify",
      "old_id": "d2d9f8e506dff30814bd499ec49914c47a76211c",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor_database.h",
      "new_id": "3bc99e7dbc633d8c9e3f9ea72174b94e70bbed4e",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor_database.h"
    },
    {
      "type": "modify",
      "old_id": "5ec6269cd434a5d54ae06aa3832e578bb21923d2",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor_pool.cc",
      "new_id": "f6bdb6e4c8ef6535b0506452b09c1a57c9fa75b0",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor_pool.cc"
    },
    {
      "type": "modify",
      "old_id": "48658d3e88232b366fc5050e9109430188a8caf8",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/descriptor_pool.h",
      "new_id": "5d3c3a95cc64bbdc91ecfcca1f504722e83230eb",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/descriptor_pool.h"
    },
    {
      "type": "modify",
      "old_id": "c9da4431613ac2e2abf7552227a78d9349b83c43",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/extension_dict.h",
      "new_id": "a0581941bdbf0bbd5cfbc0072e92035ef7b59a04",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/extension_dict.h"
    },
    {
      "type": "modify",
      "old_id": "7b4660cab50eb5d053769ec39b250d9d94e466b3",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/field.h",
      "new_id": "f9f94c498309e6b64cd0da508f7d6cf8990a794f",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/field.h"
    },
    {
      "type": "modify",
      "old_id": "842602e79f3d63cf5b47df06959dd9979a157e73",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/map_container.h",
      "new_id": "e14136efab11b110b8288a0135cb66ff19bfd39d",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/map_container.h"
    },
    {
      "type": "modify",
      "old_id": "29af255154062640fbfd9ad0afaad0ff3c0aa4dd",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/message.h",
      "new_id": "b17daa58067687bfad93b63ebcc66e3d570f74df",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/message.h"
    },
    {
      "type": "modify",
      "old_id": "30dfab88dc06bc7bd53828d3edf8078942043f20",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/message_factory.cc",
      "new_id": "5098379f35c5271557148994516b8a62e27bd277",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/message_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "515c29cdb82ab78b4f8f3df0ae3793c993a7fddd",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/message_factory.h",
      "new_id": "7dfe425dd57e090e93437facf8c30c451604428a",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/message_factory.h"
    },
    {
      "type": "modify",
      "old_id": "971d2bad70be95e1878e04e08570810459579499",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/message_module.cc",
      "new_id": "a0806a3160a5fb8dad5d6a818c2aa53fbe1ee99d",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/message_module.cc"
    },
    {
      "type": "modify",
      "old_id": "e241827ef53bed7bc8ae87a270d7fdfc391d3139",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/repeated_composite_container.h",
      "new_id": "30536eabd4d71ea853bd9ffaa7077fda306208a3",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/repeated_composite_container.h"
    },
    {
      "type": "modify",
      "old_id": "f9f0ea8f313a9a5b25f27ee853cbd566fe6ef091",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/repeated_scalar_container.h",
      "new_id": "372b6f0a3542bf4e00cc2269afc61a4f1d647062",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/repeated_scalar_container.h"
    },
    {
      "type": "modify",
      "old_id": "6f7fc29813f98b97fb894d34ab307d55fe4f2bcf",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/scoped_pyobject_ptr.h",
      "new_id": "985df2c3bb4ef1a686aaab1eabb377e688b20724",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/scoped_pyobject_ptr.h"
    },
    {
      "type": "modify",
      "old_id": "7f4fb23edf81ec6c2d686ad16e4e8020d4f64a7e",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/unknown_fields.cc",
      "new_id": "b9ca6ad3b0f31a18b26941ab3dbbfdbdd1d8d842",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/unknown_fields.cc"
    },
    {
      "type": "modify",
      "old_id": "94d55e148db6916ce62b6a651db7743c2e19bd16",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/unknown_fields.h",
      "new_id": "e7b0b35c41cd69e4c09b7cdd3582299a65eaae9f",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/unknown_fields.h"
    },
    {
      "type": "modify",
      "old_id": "8db1ffb7503b47597a035710862d6293ed7cc8fe",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/python_protobuf.h",
      "new_id": "4fcf0654047828853786650572311126b0b1636a",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/python_protobuf.h"
    }
  ]
}
