)]}'
{
  "commit": "f2fe2d9b865f0122589d329d356644a80233c770",
  "tree": "5c111489118204fbef44bf065b854e84ded390dc",
  "parents": [
    "c9877c7cf677bc3db18e9003271dfd72383aa9f7"
  ],
  "author": {
    "name": "Conley Owens",
    "email": "cco3@android.com",
    "time": "Wed Jan 29 13:53:43 2014 -0800"
  },
  "committer": {
    "name": "Conley Owens",
    "email": "cco3@android.com",
    "time": "Wed Jan 29 13:57:22 2014 -0800"
  },
  "message": "Properly iterate through values\n\nthe value of Manifest.projects has changed from being the dictionary\nto the values of the dictionary.  Here we handle this change\ncorrectly on a PostRepoUpgrade.\n\nFrom a `git diff v1.12.7 -- manifest_xml.py`:\n+  @property\n   def projects(self):\n     self._Load()\n-    return self._projects\n+    return self._paths.values()\n\nself._paths does contain the projects according to this line of\nmanifest_xml.py:\n484      self._paths[project.relpath] \u003d project\n\nChange-Id: I141f8d5468ee10dfb08f99ba434004a307fed810\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e7385dbdc8ee0f288966fa290988a7729855a35",
      "old_mode": 33188,
      "old_path": "subcmds/sync.py",
      "new_id": "e138be051f35132272fd20b316e2af15fbfe8d28",
      "new_mode": 33188,
      "new_path": "subcmds/sync.py"
    }
  ]
}
