)]}'
{
  "commit": "036670f7ad689eaf5cbc2d88c609a7d0553bf234",
  "tree": "fb803266b79d3f4f946e111de0946cf2415fa8b2",
  "parents": [
    "13ee64ee3a1acdc938aa7c54f0e14d6d2bf59bdf"
  ],
  "author": {
    "name": "Eric Anderson",
    "email": "ejona@google.com",
    "time": "Tue Nov 26 08:17:37 2013 -0800"
  },
  "committer": {
    "name": "Eric Anderson",
    "email": "ejona@google.com",
    "time": "Fri Dec 20 17:14:17 2013 -0800"
  },
  "message": "Better manage GsaCommHandler\u0027s lifecycle\n\nWe now manage GsaCommunicationHandler\u0027s lifecycle more precisely. We now\nsetup the bare minimum before Adaptor.init() and teardown as much as\npossible before Adaptor.destroy().\n\nThere are many thread-safety and object reachability fixes, primarily\nmade obvious by the handling of most Adaptor references within\nAdaptorContextImpl.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa66cbc14fa735098b4643a5a5c071e55cf1e419",
      "old_mode": 33188,
      "old_path": "src/com/google/enterprise/adaptor/GsaCommunicationHandler.java",
      "new_id": "2bc3425d3c5b8c67b1aaaa88c39da08b54b76ef4",
      "new_mode": 33188,
      "new_path": "src/com/google/enterprise/adaptor/GsaCommunicationHandler.java"
    },
    {
      "type": "modify",
      "old_id": "3ede388f4a7c1ad9a8b911efda9b8bb0b9924a89",
      "old_mode": 33188,
      "old_path": "test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java",
      "new_id": "7db578513852b45d70032bd4dae7d9e9f4f820ec",
      "new_mode": 33188,
      "new_path": "test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java"
    }
  ]
}
