)]}'
{
  "commit": "4dc2e6906e1084fdd37bf67385c5dcd2c72ae22b",
  "tree": "38dbff47247cefd2448c56813de8bed894096c92",
  "parents": [
    "cfdd5bcad515a8371af59dba9625e31a6f6f733e"
  ],
  "author": {
    "name": "Eric Blake",
    "email": "eblake@redhat.com",
    "time": "Mon May 04 09:05:17 2015 -0600"
  },
  "committer": {
    "name": "Markus Armbruster",
    "email": "armbru@redhat.com",
    "time": "Tue May 05 18:39:01 2015 +0200"
  },
  "message": "qapi: Better error messages for duplicated expressions\n\nThe previous commit demonstrated that the generator overlooked\nduplicate expressions:\n- a complex type or command reusing a built-in type name\n- redeclaration of a type name, whether by the same or different\nmetatype\n- redeclaration of a command or event\n- collision of a type with implicit \u0027Kind\u0027 enum for a union\n- collision with an implicit MAX enum constant\n\nSince the c_type() function in the generator treats all names\nas being in the same namespace, this patch adds a global array\nto track all known names and their source, to prevent collisions\nbefore it can cause further problems.  While valid .json files\nwon\u0027t trigger any of these cases, we might as well be nicer to\ndevelopers that make a typo while trying to add new QAPI code.\n\nSigned-off-by: Eric Blake \u003ceblake@redhat.com\u003e\nReviewed-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "868f08b59326ef23349aaa903099458b319f90ce",
      "old_mode": 33188,
      "old_path": "scripts/qapi.py",
      "new_id": "6a339d60b5b49614cfc3fbe415b538eb55a2905a",
      "new_mode": 33188,
      "new_path": "scripts/qapi.py"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/command-int.err",
      "new_id": "0f9300679b304398cf6ec9cd1fdbe51ede29d3d4",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/command-int.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/command-int.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/command-int.exit"
    },
    {
      "type": "modify",
      "old_id": "fcbb643c44381ef2c138a4f5230e04db82fee783",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/command-int.json",
      "new_id": "c90d408abe6ffdbf30fa40d898860b0be0bc6a13",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/command-int.json"
    },
    {
      "type": "modify",
      "old_id": "d8e1854a0466acc4e212570d8b9a1bbf8bda11d8",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/command-int.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/command-int.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/enum-union-clash.err",
      "new_id": "c04e1a8064b433d3fdc9604eb8da2b5b8a7488a1",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/enum-union-clash.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/enum-union-clash.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/enum-union-clash.exit"
    },
    {
      "type": "modify",
      "old_id": "714ff6d556015d49f64beb395c642b3042c78162",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/enum-union-clash.json",
      "new_id": "593282b6cff69dc02e4c923af52fc8aa3325daa8",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/enum-union-clash.json"
    },
    {
      "type": "modify",
      "old_id": "d45f5e8a6946253783588a9414f0f7b224f8d24b",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/enum-union-clash.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/enum-union-clash.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/event-max.err",
      "new_id": "c85653437908158f030131390fb960f89f72c649",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/event-max.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/event-max.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/event-max.exit"
    },
    {
      "type": "modify",
      "old_id": "997c61c5115b73c46fd19408b69b99796f1afdbe",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/event-max.json",
      "new_id": "f3d7de2a30552640d2f9378c52970e03c270d0dc",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/event-max.json"
    },
    {
      "type": "modify",
      "old_id": "010c42b3a903532380fc2b1fbd6eb90b47253527",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/event-max.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/event-max.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-builtin.err",
      "new_id": "b2757225c4ea5aecaa2ecc02ae2acca023e57659",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-builtin.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-builtin.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-builtin.exit"
    },
    {
      "type": "modify",
      "old_id": "a10050dc73d08adecd8bd7aeb451d2a464d550db",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-builtin.json",
      "new_id": "df328ccc6622fc3b6e0b1042eef9230f99eddcd4",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-builtin.json"
    },
    {
      "type": "modify",
      "old_id": "b0a9aea5484fd30dc9abc4ea6cda13a956032047",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-builtin.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-builtin.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-command.err",
      "new_id": "82ae256e639e8866926572ac7be6329c2a8738b6",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-command.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-command.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-command.exit"
    },
    {
      "type": "modify",
      "old_id": "d8c9975e1c7103b23b19cb94848e24be159cfe30",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-command.json",
      "new_id": "247e4019483eca0e15aa0576fe6300fa71deca4a",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-command.json"
    },
    {
      "type": "modify",
      "old_id": "44ddba60d5645bd2ff6d4818c7dcd450209d4c08",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-command.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-command.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-event.err",
      "new_id": "35429cb48186a0bd2d3798c458c06c1f71e1bf45",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-event.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-event.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-event.exit"
    },
    {
      "type": "modify",
      "old_id": "152cce720fc917e553204afb056f22f989861239",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-event.json",
      "new_id": "7717e91c18c4b44f33211e2a2696da2d921e1b1e",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-event.json"
    },
    {
      "type": "modify",
      "old_id": "261b183fc99f94ec84a8f20cac8ad259945316e2",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-event.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-event.out"
    },
    {
      "type": "modify",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-type.err",
      "new_id": "06ea78c4781e479cea71a15b34609adc36ba36cd",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-type.err"
    },
    {
      "type": "modify",
      "old_id": "573541ac9702dd3969c9bc859d2b91ec1f7e6e56",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-type.exit",
      "new_id": "d00491fd7e5bb6fa28c517a0bb32b8b506539d4d",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-type.exit"
    },
    {
      "type": "modify",
      "old_id": "7972194824859dff18e63463edfb0f95a69512a1",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-type.json",
      "new_id": "e6a5f24ca98b4231f50f572595efd5b1de8c96ec",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-type.json"
    },
    {
      "type": "modify",
      "old_id": "b509e5776cb5385cef89fb42e301ef458e48eaed",
      "old_mode": 33188,
      "old_path": "tests/qapi-schema/redefined-type.out",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tests/qapi-schema/redefined-type.out"
    }
  ]
}
