)]}'
{
  "commit": "4d5977eaecd3675c1176274a50f74ebc40dd13ec",
  "tree": "b7ef6123cd038b6bb5db6eb5742ebd3d9b85b010",
  "parents": [
    "6273d1136af913aaf4badc4545ccf942557c747b"
  ],
  "author": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Wed Nov 20 13:09:21 2013 +0100"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Fri Nov 29 13:40:37 2013 +0100"
  },
  "message": "qdict: Optimise qdict_do_flatten()\n\nNested QDicts used to be both entered recursively in order to move their\nentries to the target QDict and also be moved themselves to the target\nQDict like all other objects. This is harmless because for the top\nlevel, qdict_do_flatten() will encounter the (now empty) QDict for a\nsecond time and then delete it, but at the same time it\u0027s obviously\nunnecessary overhead. Just delete nested QDicts directly after moving\nall of their entries.\n\nReported-by: Laszlo Ersek \u003clersek@redhat.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "60d6cd5a0ed0de7b05ef9af93c9c4983fa18a54c",
      "old_mode": 33188,
      "old_path": "qobject/qdict.c",
      "new_id": "17e14f08b128e81608dc3630279b8972e757bde9",
      "new_mode": 33188,
      "new_path": "qobject/qdict.c"
    }
  ]
}
