)]}'
{
  "commit": "7e9a5bbf10d8caf32a64440c2a5a7b61b14847dc",
  "tree": "b29edd1b1853bb61796255af55b496ac685be5bc",
  "parents": [
    "58c34f5a5b5c0eb165c4af169688a2271ebe55f0"
  ],
  "author": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Tue Aug 06 22:05:35 2019 +0100"
  },
  "committer": {
    "name": "Ben Clayton",
    "email": "bclayton@google.com",
    "time": "Wed Aug 14 07:29:41 2019 +0000"
  },
  "message": "Yarn: Add make_finally(), make_shared_finally() and defer()\n\nThese are RAII-based helpers for ensuring that logic is executed, regardless of the control flow path taken.\n\nBug: b/139010488\nChange-Id: I7bea0e550aaccf7504221a661ed2cd04e46018f9\nReviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34769\nTested-by: Ben Clayton \u003cbclayton@google.com\u003e\nReviewed-by: Nicolas Capens \u003cnicolascapens@google.com\u003e\nKokoro-Presubmit: kokoro \u003cnoreply+kokoro@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "565dfa101bc7158262e91ab188277856fc8c7537",
      "new_mode": 33188,
      "new_path": "src/Yarn/Defer.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "479022ffcc0cbada54fa51462b98b0970aa111a6",
      "new_mode": 33188,
      "new_path": "src/Yarn/Defer_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "702c87b79d80fb29894153edd00416557225d46d",
      "new_mode": 33188,
      "new_path": "src/Yarn/Finally.hpp"
    }
  ]
}
