)]}'
{
  "commit": "ac4338f8eb783fd421aae492ca262a586918471e",
  "tree": "f3b6c4d4b30c2702dc33b928792e481a74956818",
  "parents": [
    "bd59adce692cbb70e5639c0f5611b45a0d107167"
  ],
  "author": {
    "name": "Eric Blake",
    "email": "eblake@redhat.com",
    "time": "Thu Mar 17 16:48:39 2016 -0600"
  },
  "committer": {
    "name": "Markus Armbruster",
    "email": "armbru@redhat.com",
    "time": "Fri Mar 18 10:29:26 2016 +0100"
  },
  "message": "qapi: Allow anonymous base for flat union\n\nRather than requiring all flat unions to explicitly create\na separate base struct, we can allow the qapi schema to specify\nthe common members via an inline dictionary. This is similar to\nhow commands can specify an inline anonymous type for its \u0027data\u0027.\nWe already have several struct types that only exist to serve as\na single flat union\u0027s base; the next commit will clean them up.\nIn particular, this patch\u0027s change to the BlockdevOptions example\nin qapi-code-gen.txt will actually be done in the real QAPI schema.\n\nNow that anonymous bases are legal, we need to rework the\nflat-union-bad-base negative test (as previously written, it\nforms what is now valid QAPI; tweak it to now provide coverage\nof a new error message path), and add a positive test in\nqapi-schema-test to use an anonymous base (making the integer\nargument optional, for even more coverage).\n\nNote that this patch only allows anonymous bases for flat unions;\nsimple unions are already enough syntactic sugar that we do not\nwant to burden them further.  Meanwhile, while it would be easy\nto also allow an anonymous base for structs, that would be quite\nredundant, as the members can be put right into the struct\ninstead.\n\nSigned-off-by: Eric Blake \u003ceblake@redhat.com\u003e\nMessage-Id: \u003c1458254921-17042-15-git-send-email-eblake@redhat.com\u003e\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "12af1b8cefd6c5ebd2aab2ecc4cca0d5efcbc7f7",
      "old_mode": 33188,
      "old_path": "docs/qapi-code-gen.txt",
      "new_id": "0e4bafff08403fcd4b74852e8439ca6ad57a4570",
      "new_mode": 33188,
      "new_path": "docs/qapi-code-gen.txt"
    },
    {
      "type": "modify",
      "old_id": "92ae619fa4820f8b61d4f50b6f58f03073be15dc",
      "old_mode": 33188,
      "old_path": "scripts/qapi-types.py",
      "new_id": "e09c8751a93802e3b1f45166ba4900139f1f52fb",
      "new_mode": 33188,
      "new_path": "scripts/qapi-types.py"
    },
    {
      "type": "modify",
      "old_id": "d91af94759b2b566eacc5a5e6e1b78443e63b910",
      "old_mode": 33188,
      "old_path": "scripts/qapi.py",
      "new_id": "a38ef52922a4a49afa604c50a01eaaf06bfda0e9",
      "new_mode": 33188,
      "new_path": "scripts/qapi.py"
    },
    {
      "type": "modify",
      "old_id": "79b8a71eb8778a8dd132499da647663ad0e001e8",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/flat-union-bad-base.err",
      "new_id": "bee24a217ae52fbe711630d59e53bcaf0d98be14",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/flat-union-bad-base.err"
    },
    {
      "type": "modify",
      "old_id": "e2e622bb6e00cd0384a1ec54fdbdbd51d6871030",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/flat-union-bad-base.json",
      "new_id": "74dd421708d78a1b78fed8aaa920b2ed6fb90cb1",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/flat-union-bad-base.json"
    },
    {
      "type": "modify",
      "old_id": "e72274811e39165352b5c4228dea740b05c02905",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/qapi-schema-test.json",
      "new_id": "f571e1bb34ba966ba3c55ece71ce03337c629854",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/qapi-schema-test.json"
    },
    {
      "type": "modify",
      "old_id": "d49fe1d184005bddeaa0e11291d8524bc2ea2c09",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/qapi-schema-test.out",
      "new_id": "19cd214f6bdcf1b6956651e13fb9a5b3f578b3eb",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/qapi-schema-test.out"
    }
  ]
}
