)]}'
{
  "commit": "5ef75798cef0ed96b9e52939d62029a4c68ad78b",
  "tree": "6c06c949a653478ce090f41e98df78aa34bd5394",
  "parents": [
    "d94656ec84fa2d76d9a0068f9b49d1ad9edb9ba2"
  ],
  "author": {
    "name": "Alex Vakulenko",
    "email": "avakulenko@chromium.org",
    "time": "Thu Mar 19 15:50:44 2015 -0700"
  },
  "committer": {
    "name": "ChromeOS Commit Bot",
    "email": "chromeos-commit-bot@chromium.org",
    "time": "Wed Mar 25 01:33:40 2015 +0000"
  },
  "message": "buffet: Change shared ownership of types/values to exclusive\n\nIn order to support array types in Buffet\u0027s type system, PropValue\nmust maintain a strong reference to the underlying PropType since\nthe array elements will have their own type reference and the current\nimplementation of using raw pointer for this isn\u0027t going to work.\nIn order to resolve this I had to make a lot of changes to the object\nownership inside Buffet\u0027s type system. I made it possible for both\nPropType and PropValue to make a deep copy of itself using their\nClone() methods. Because of this now it is possible to have exclusive\nownership of objects and I got rid of most of shared pointer usage in\nObjectSchema, PropType and PropValue.\n\nBUG\u003dbrillo:107\nTEST\u003d`FEATURES\u003dtest emerge-link buffet`\n\nChange-Id: I02de455dfd40d4833041b63cbb80bcb00293b5a9\nReviewed-on: https://chromium-review.googlesource.com/261336\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7494de85fdbebe581ed7f706d41ac662bfd14c9d",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_definition.cc",
      "new_id": "c5854c2ed3cdd719ec0db6034d6ff127b25c51ec",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_definition.cc"
    },
    {
      "type": "modify",
      "old_id": "a7b793aa2735c2347797949d962a27c086bc7e90",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_definition.h",
      "new_id": "0cc09b5ae61ddb9654ad8316c493fcf389e1467f",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_definition.h"
    },
    {
      "type": "modify",
      "old_id": "0b060862ceac09a87fc856b7c76a96a9758660af",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_definition_unittest.cc",
      "new_id": "78520f884a72ae13ebc2a4c1d6f9ae43d11df3d6",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_definition_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "14bead81aa0e6b45bc874e0af1453dd82479b90f",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_dictionary.cc",
      "new_id": "68e963c6f702d29bf33155fd299c6e249e585783",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_dictionary.cc"
    },
    {
      "type": "modify",
      "old_id": "d051c6250ac89ef8079ddfef246fcf1d3411e46e",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_dictionary.h",
      "new_id": "414d79ad603cea36edfa92c9e4a8b5d34952f88b",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_dictionary.h"
    },
    {
      "type": "modify",
      "old_id": "cc03210a70785e1cb3ccd893ba73e0f96d7899bf",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_instance.cc",
      "new_id": "4b13448ed0b4d1600f134c59cc1244001061a761",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_instance.cc"
    },
    {
      "type": "modify",
      "old_id": "45cf485c69ea17a5aac5711162b4fe4774d270dd",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_instance.h",
      "new_id": "c925b6ceca4fa5ece376a79db406a4574d997427",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_instance.h"
    },
    {
      "type": "modify",
      "old_id": "420361ee74146751f75c7c5734872b1566b95f07",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_instance_unittest.cc",
      "new_id": "98c23e5e0d8893af33322fa62a272604e9159cf6",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_instance_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "12c5500cdb4b0bc7d293672f569ec20f1842ad9a",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_queue_unittest.cc",
      "new_id": "958779726931a4b0e8ae1294ba4edb3347213731",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_queue_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "a06777242534366d582de510e7b786ba966f1da5",
      "old_mode": 33188,
      "old_path": "buffet/commands/dbus_command_proxy.cc",
      "new_id": "b300fe3b7f96e8ebee835677752f38ee5f25d460",
      "new_mode": 33188,
      "new_path": "buffet/commands/dbus_command_proxy.cc"
    },
    {
      "type": "modify",
      "old_id": "b89de989a9d7f48c8df68dbae19287b818f321cd",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema.cc",
      "new_id": "5b565edb4f82a9054c117384dbdf880e949d7802",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema.cc"
    },
    {
      "type": "modify",
      "old_id": "e47cf14589092b8f3ae34500e4358408e628a12a",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema.h",
      "new_id": "1f272e60f1e89881011407e775d16a506ccd7ffd",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema.h"
    },
    {
      "type": "modify",
      "old_id": "20317054b72b164a39135180a061bf2a138d7a70",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema_unittest.cc",
      "new_id": "5e913f83e60b6189544a6a5b3006994685d6e61f",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ff01e054a5d6b138ae1a37bf86f26876db044f41",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_constraints.cc",
      "new_id": "45448bcd43b27261d2d3415bb32cb83a7ee72173",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_constraints.cc"
    },
    {
      "type": "modify",
      "old_id": "a898e0b13ccab8f3420e84628ef787aa47813266",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_constraints.h",
      "new_id": "79cc72a81d98e32d76500892ff078823cdf1482d",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_constraints.h"
    },
    {
      "type": "modify",
      "old_id": "abba22dc5733be82c766cfa503d0dec43b9958f6",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.cc",
      "new_id": "53beb4f61f956e0f2e62458a55c728ecefc32c25",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.cc"
    },
    {
      "type": "modify",
      "old_id": "a2d4a18740b4f279470e16d89eb12463e135e1b0",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.h",
      "new_id": "892a730d3ded1d8605c0cd49cf72af725fc096ad",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.h"
    },
    {
      "type": "modify",
      "old_id": "0c98a20d861c21f790d1f83166eeac6ea4af9e27",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_values.cc",
      "new_id": "a4dc391602c1dbb8121e6769204e323d26e51c77",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_values.cc"
    },
    {
      "type": "modify",
      "old_id": "bf0d88dfec44b87f37b8b7308b26a1a0ba52166d",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_values.h",
      "new_id": "6f85a0cade768bd7830a6e70c34215e6a5b1598f",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_values.h"
    },
    {
      "type": "modify",
      "old_id": "c9531c54c288236bb3ecb510bb5805c60a8be628",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils.cc",
      "new_id": "47516ebf872ee5e5396417c3d602feaf2a66297b",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "55c07a1b0f18d88bc5bb5ca25ccf295994e55d83",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils.h",
      "new_id": "5709ebcd63a894b1d12a4b83732ef3e8dde09eb3",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils.h"
    },
    {
      "type": "modify",
      "old_id": "3cd0b5d23fa93ce843bdc06a64479aad6b71c949",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils_unittest.cc",
      "new_id": "4f9eabef9d4eb827aa98be3b5ea8e72d46fdcacd",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "577405ad9895114233a8e5e93136758b1961057a",
      "old_mode": 33188,
      "old_path": "buffet/commands/unittest_utils.h",
      "new_id": "25db6b2c98695908efcb380fbd3a306a0cf7ad1c",
      "new_mode": 33188,
      "new_path": "buffet/commands/unittest_utils.h"
    },
    {
      "type": "modify",
      "old_id": "053278895560d99695f6f1c01431bdf1bcfceaf2",
      "old_mode": 33188,
      "old_path": "buffet/states/state_change_queue_interface.h",
      "new_id": "44e0f79075bc38c5a38b278a588964c39a7cde07",
      "new_mode": 33188,
      "new_path": "buffet/states/state_change_queue_interface.h"
    },
    {
      "type": "modify",
      "old_id": "8893ebb4e514026676ddfbd55dc05b28202ab2f7",
      "old_mode": 33188,
      "old_path": "buffet/states/state_package.cc",
      "new_id": "a023c14a843f996878466c8ae8dbc935645a7548",
      "new_mode": 33188,
      "new_path": "buffet/states/state_package.cc"
    }
  ]
}
