)]}'
{
  "commit": "b9d32ecefd004adb7cc4c70a5f4a567dca199da0",
  "tree": "005f03c4f0b89cea5378bd7c0c28dc0cad2854ba",
  "parents": [
    "252aad16296935bcfb01174f38bd78bdfcfeaae8"
  ],
  "author": {
    "name": "Song GUO",
    "email": "songguo@google.com",
    "time": "Mon Oct 24 14:40:11 2022 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 24 14:40:11 2022 +0800"
  },
  "message": "[python] Implement PyChipError for passing detailed error infomation to Python API (#22224)\n\n* [python] Use PyChipError for more detailed error message\r\n\r\n* Add pychip_FormatError\r\n\r\n* Add some getters for PyChipError\r\n\r\n* Avoid return PyChipError to end user\r\n\r\n* Fix\r\n\r\n* Add raise_on_error to existing calls and cleanup",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "60988c5239d974a8cdea4fd75668c1f356d03262",
      "old_mode": 33188,
      "old_path": "src/controller/python/BUILD.gn",
      "new_id": "7031bdf08aa361ea40b86513512fc771f32927fd",
      "new_mode": 33188,
      "new_path": "src/controller/python/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "0fd3df5de89bec2acde8a3e982b6afe8b9481418",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp",
      "new_id": "12277183e52b6de7799561fa7fc808da25a883e3",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipCommissionableNodeController-ScriptBinding.cpp"
    },
    {
      "type": "modify",
      "old_id": "f4aaaed81bdf49ae04dd93425c3eed7c61023d17",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-Discovery.cpp",
      "new_id": "36da3a8eedb0d1771743e948cf0403c6c289869f",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-Discovery.cpp"
    },
    {
      "type": "modify",
      "old_id": "39a3952e0fb0f7264886e431e42727e2e0e4434d",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-IssueNocChain.cpp",
      "new_id": "fe5b8ecc3919b0c3e29124edd66c490682241f10",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-IssueNocChain.cpp"
    },
    {
      "type": "modify",
      "old_id": "05e0abf8b045859b0d6df2566d13e4e3034bf8d7",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-ScriptBinding.cpp",
      "new_id": "a7659e60d21f4bb3ff83c10b8cca6570db7602bb",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-ScriptBinding.cpp"
    },
    {
      "type": "modify",
      "old_id": "e98b68ace56446fc8546e497213c5e7475c75e72",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-ScriptDevicePairingDelegate.cpp",
      "new_id": "67cc6abdb01702037cd7fd033ee4e645f24c875b",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-ScriptDevicePairingDelegate.cpp"
    },
    {
      "type": "modify",
      "old_id": "24991ffa5f73caea94a02bab8e579fdb49493c83",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-ScriptDevicePairingDelegate.h",
      "new_id": "cc41b30d3eb4b1c5ff9c3ed3004eec1e4d98144b",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-ScriptDevicePairingDelegate.h"
    },
    {
      "type": "modify",
      "old_id": "2787b096307e59f68158dd38fec78086b2d3fc9a",
      "old_mode": 33188,
      "old_path": "src/controller/python/OpCredsBinding.cpp",
      "new_id": "ef92b2c163b575af4bc98748fb513afe8a88e4a0",
      "new_mode": 33188,
      "new_path": "src/controller/python/OpCredsBinding.cpp"
    },
    {
      "type": "modify",
      "old_id": "7f40f0cd016100d58cf74d5a8cd89ba52405074c",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/CertificateAuthority.py",
      "new_id": "b6f283129a1a314ba5ffb3bdaffd22bf6ccfe3d3",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/CertificateAuthority.py"
    },
    {
      "type": "modify",
      "old_id": "c1d47dd64b91c0a42b7facd19d2977dc72215e57",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/ChipCommissionableNodeCtrl.py",
      "new_id": "9a3bcc2c6f40a08774fcf29dd406b12d6a5c1f74",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/ChipCommissionableNodeCtrl.py"
    },
    {
      "type": "modify",
      "old_id": "4547567680f404e76c43492e39df1e70d34a4a91",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/ChipDeviceCtrl.py",
      "new_id": "9c07108acc45cbe8cd021dc9f1e02d08d1139eb3",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/ChipDeviceCtrl.py"
    },
    {
      "type": "modify",
      "old_id": "77d36b39d511c0716286c67865dd36d54c9c10d1",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/ChipStack.py",
      "new_id": "3ca313be08214d8714d338e8b7e7b7cf2351751e",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/ChipStack.py"
    },
    {
      "type": "modify",
      "old_id": "0fa3530d36ab4167aa43e0f3222f504dc8f1910b",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/clusters/Attribute.py",
      "new_id": "d7608f8d3c53a93d117d4fde536df384e957ef43",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/clusters/Attribute.py"
    },
    {
      "type": "modify",
      "old_id": "74101d4edb47cfea5c6dde37783d35e92053cba9",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/clusters/Command.py",
      "new_id": "83026866e1b0e7236b1d2847f961d5245e518abb",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/clusters/Command.py"
    },
    {
      "type": "modify",
      "old_id": "0c90495ae4bf005508dbe3d70c2644cc6144f6c1",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/clusters/attribute.cpp",
      "new_id": "b847a200df315b6c295c359e47cbaae417f30f14",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/clusters/attribute.cpp"
    },
    {
      "type": "modify",
      "old_id": "342e624698ed18511cb93c92deb5d8871b744698",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/clusters/command.cpp",
      "new_id": "9c4686b90003174f7c0a7a3aa45cb03b29a159ae",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/clusters/command.cpp"
    },
    {
      "type": "modify",
      "old_id": "2bf44a2a01ccabf507385790990fd66f0c271356",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/discovery/NodeResolution.cpp",
      "new_id": "8f92477f1c1ef0156f6e4c688268e879b466066d",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/discovery/NodeResolution.cpp"
    },
    {
      "type": "modify",
      "old_id": "a6897949c26813b1c9fbb0ee05dec3c3236a342c",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/discovery/__init__.py",
      "new_id": "d41325f5ff5a8d510cdd7ce9412f0700159e04bb",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/discovery/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "edf31631e3ac78f5c1a5e2ef8e2e646acc718573",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/discovery/library_handle.py",
      "new_id": "19ad5e8954181c33464efe872d7453ebc006c2e3",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/discovery/library_handle.py"
    },
    {
      "type": "modify",
      "old_id": "775c2420559bbf0d134da28c606f57148c4accd8",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/discovery/types.py",
      "new_id": "34868b804f1bfc48190157cba5d9653b925970a3",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/discovery/types.py"
    },
    {
      "type": "modify",
      "old_id": "20ce1d2747b6781b5052462543ea0d88d1055e64",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/interaction_model/Delegate.cpp",
      "new_id": "827d753b68cfc21a39fb2426170619381b5c5eb6",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/interaction_model/Delegate.cpp"
    },
    {
      "type": "modify",
      "old_id": "260a9c026dd641129a55ab49f0708e55ede5094a",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/internal/CommissionerImpl.cpp",
      "new_id": "96ab90f44b8ae235f9075a778c907f1dd472474e",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/internal/CommissionerImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "f01bcf8799fbfb16ccefc29a0239fa4b86e95e51",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/native/CommonStackInit.cpp",
      "new_id": "8a149412a73944aeceb57741e5b8f1806211ce5a",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/native/CommonStackInit.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "58309c1a061fa77a565731ec5599c7e51577c0b4",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/native/PyChipError.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed36c4c3e10fb2a930d3cfe682efae48094da9a4",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/native/PyChipError.h"
    },
    {
      "type": "modify",
      "old_id": "f0c175237e7b8a23babcfd22394839b2bec19a89",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/native/__init__.py",
      "new_id": "1810c18c62f69d823b79f9249cb71d876688bb37",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/native/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "4211fc3248dfb6ae342308d05d12d31a781f5d00",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/setup_payload/Generator.cpp",
      "new_id": "4481a404462394dc730b87550b16b8285c6cf477",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/setup_payload/Generator.cpp"
    },
    {
      "type": "modify",
      "old_id": "83266f1fc4c469bc3a5d53c3305a0db8229e887a",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/setup_payload/Parser.cpp",
      "new_id": "c48dc3f3722c13e888e5e84f118dfef1b7e9f8dc",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/setup_payload/Parser.cpp"
    },
    {
      "type": "modify",
      "old_id": "ea6add7a039609e5ef4c8bb824032d30c1ead13c",
      "old_mode": 33188,
      "old_path": "src/controller/python/chip/utils/DeviceProxyUtils.cpp",
      "new_id": "d3bb2c6e65e20438ba5b052286eb04d0cbe03c2b",
      "new_mode": 33188,
      "new_path": "src/controller/python/chip/utils/DeviceProxyUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "cab2f665ffe65d03c908a7a71e3192a54530a0ad",
      "old_mode": 33188,
      "old_path": "src/controller/python/test/test_scripts/base.py",
      "new_id": "ca4c30a4a5a93b90c9c60a45cf0929a3efd883b2",
      "new_mode": 33188,
      "new_path": "src/controller/python/test/test_scripts/base.py"
    }
  ]
}
