)]}'
{
  "commit": "cee3ddb0e0a18d0aa1a1f5b06e643604c5c4ee86",
  "tree": "91c2707280b3f147e1fac76e497d0d23e524bb94",
  "parents": [
    "2c0f932301231c8d9996dc21c183c586e0a80d08"
  ],
  "author": {
    "name": "Neil Williams",
    "email": "neil@reddit.com",
    "time": "Tue Feb 16 15:12:15 2021 -0800"
  },
  "committer": {
    "name": "Yuxuan \u0027fishy\u0027 Wang",
    "email": "fishywang@gmail.com",
    "time": "Mon Feb 22 10:02:58 2021 -0800"
  },
  "message": "THRIFT-5352: Fix construction of Py exceptions with no fields\n\nClient: py\n\nWhen no fields are present, we don\u0027t get the special constructor that\nuses __setattr__ to avoid these checks. So the default constructor sets\nmessage normally and triggers the anti-mutation tripwires.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ef655ea5579d30f7b9dfa167209d7ad18801a325",
      "old_mode": 33188,
      "old_path": "lib/py/src/Thrift.py",
      "new_id": "81fe8cf33fe7e11643567ddab2d8eabdd6a600f9",
      "new_mode": 33188,
      "new_path": "lib/py/src/Thrift.py"
    },
    {
      "type": "modify",
      "old_id": "1ab0f6aea0ae4a1e359961dbdd17e211627bd9e3",
      "old_mode": 33188,
      "old_path": "test/DebugProtoTest.thrift",
      "new_id": "5d0face4b22cbf61922120c6ae9e4e37f8296796",
      "new_mode": 33188,
      "new_path": "test/DebugProtoTest.thrift"
    },
    {
      "type": "modify",
      "old_id": "ce7425f88fb14f6104e940a896e6b373db375ec8",
      "old_mode": 33261,
      "old_path": "test/py/TestFrozen.py",
      "new_id": "f859398dc07950fbcf555f8b0cd8047799fad433",
      "new_mode": 33261,
      "new_path": "test/py/TestFrozen.py"
    }
  ]
}
