)]}'
{
  "commit": "c8f07aad563d9460eac0074be0a24a38158239af",
  "tree": "8a2452f05baaba862e97be55fb20b28e99ef7c2e",
  "parents": [
    "a109fe68b0ad834bdecf47961c8791e3b4c21502"
  ],
  "author": {
    "name": "Todd Volkert",
    "email": "tvolkert@users.noreply.github.com",
    "time": "Tue Dec 08 17:58:28 2020 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 08 17:58:28 2020 -0800"
  },
  "message": "Remove duplicate code in Element.rebuild() and BuildOwner.buildScope() (#71940)\n\nElement.rebuild() and BuildOwner.buildScope() both had code to\r\nmanager the `BuildOwner._debugCurrentBuildTarget` state variable.\r\nUnfortunately, only one of the two places was using a try/finally\r\nto ensure that the state variable was restored even if an error\r\nwas thrown.\r\n\r\nThis creates a private method to unify the copy/pasted code.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "daf09bf84953a2a6889ab95d75f93cf6ab201698",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/gestures/pointer_router.dart",
      "new_id": "a59d07d2f8bc92e811500e95eb298b2283e8ff56",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/gestures/pointer_router.dart"
    },
    {
      "type": "modify",
      "old_id": "d2d4ed2011e27ee6decacf12c9d2b956f00029b6",
      "old_mode": 33188,
      "old_path": "packages/flutter/lib/src/widgets/framework.dart",
      "new_id": "73855e2c79072e695c904ab1c35e7bfcd75e5c76",
      "new_mode": 33188,
      "new_path": "packages/flutter/lib/src/widgets/framework.dart"
    },
    {
      "type": "modify",
      "old_id": "7dc9e7e44abb4ba5b639b384460fed4e5d738bec",
      "old_mode": 33188,
      "old_path": "packages/flutter/test/widgets/framework_test.dart",
      "new_id": "b213f94a49999412ac7819c2e65dcfba94dec70d",
      "new_mode": 33188,
      "new_path": "packages/flutter/test/widgets/framework_test.dart"
    }
  ]
}
