)]}'
{
  "commit": "d94656ec84fa2d76d9a0068f9b49d1ad9edb9ba2",
  "tree": "cec5a67240bf2206d50cdbb30d2ab8c874c06475",
  "parents": [
    "482171d1ca4fb5040ce0ebc8324714976b52e838"
  ],
  "author": {
    "name": "Alex Vakulenko",
    "email": "avakulenko@chromium.org",
    "time": "Wed Mar 18 09:54:37 2015 -0700"
  },
  "committer": {
    "name": "ChromeOS Commit Bot",
    "email": "chromeos-commit-bot@chromium.org",
    "time": "Wed Mar 25 01:33:37 2015 +0000"
  },
  "message": "buffet: Clean up property system in preparation for Array support\n\n- Made ObjectSchema::PropFromJson a public method to allow parsing\n  type definitions for other elements, not only object properties\n  (it will be used to parse \"items\" definition for arrays). Made this\n  method to return std::unique_ptr\u003cPropType\u003e instead of putting the\n  type directly into property map.\n\n- Cleaned up error reporting when parsing type definitions from JSON.\n  Now PropFromJson does not refer to any particular property name\n  in error messages. The property name is added on the level higher\n  (at ObjectSchema::FromJson).\n\n- Moved GetObjectSchema() method from base PropType class to the\n  only place where it is being used right now - ObjectPropType.\n\n- Switched value constraints to use generic PropType instead of\n  ObjectSchema which will allow to add support for constraints\n  on more complex types (such as arrays). Also added\n  CloneWithNoConstraints() method to base class to help implement\n  OneOf() constraint of polymorphic type (will be used more in the\n  following CLs to support arrays of values).\n\n- Fixed some formatting of function definitions.\n\n- Moved static methods in object_schema.cc into an anonymous namespace\n  at the beginning of the source file.\n\nBUG\u003dbrillo:107\nTEST\u003d`FEATURES\u003dtest emerge-link buffet`\n\nChange-Id: I86dd6c0780a46f4996ffe698dffb5d409699ff31\nReviewed-on: https://chromium-review.googlesource.com/260852\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d39e4a17c27b9fea581af2ddaa65e729d969cc75",
      "old_mode": 33188,
      "old_path": "buffet/commands/command_instance.cc",
      "new_id": "cc03210a70785e1cb3ccd893ba73e0f96d7899bf",
      "new_mode": 33188,
      "new_path": "buffet/commands/command_instance.cc"
    },
    {
      "type": "modify",
      "old_id": "64372620272d8f1cf73ab1ef288600d9282184ca",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema.cc",
      "new_id": "b89de989a9d7f48c8df68dbae19287b818f321cd",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema.cc"
    },
    {
      "type": "modify",
      "old_id": "8808fb04595c0b13dfc8bb1dc4099c1b544fc13f",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema.h",
      "new_id": "e47cf14589092b8f3ae34500e4358408e628a12a",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema.h"
    },
    {
      "type": "modify",
      "old_id": "0f429a18521715467ba24742c8815b563cfbb487",
      "old_mode": 33188,
      "old_path": "buffet/commands/object_schema_unittest.cc",
      "new_id": "20317054b72b164a39135180a061bf2a138d7a70",
      "new_mode": 33188,
      "new_path": "buffet/commands/object_schema_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ae93ccfd0031bc5afbddb94f47c393ceb4db4076",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_constraints.h",
      "new_id": "a898e0b13ccab8f3420e84628ef787aa47813266",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_constraints.h"
    },
    {
      "type": "modify",
      "old_id": "37a6dc8389abb9747d34233062f4baab43948124",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.cc",
      "new_id": "abba22dc5733be82c766cfa503d0dec43b9958f6",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.cc"
    },
    {
      "type": "modify",
      "old_id": "2533c34346f4c4ba3dd9ec3fa838d67d224b99ef",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_types.h",
      "new_id": "a2d4a18740b4f279470e16d89eb12463e135e1b0",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_types.h"
    },
    {
      "type": "modify",
      "old_id": "1d1c26d2a40a2fab8914bc5d6ca5b79cb24f4ae8",
      "old_mode": 33188,
      "old_path": "buffet/commands/prop_values.h",
      "new_id": "bf0d88dfec44b87f37b8b7308b26a1a0ba52166d",
      "new_mode": 33188,
      "new_path": "buffet/commands/prop_values.h"
    },
    {
      "type": "modify",
      "old_id": "043f0ae15e1b73bd757a9101f4a12ad368f9ba84",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils.cc",
      "new_id": "c9531c54c288236bb3ecb510bb5805c60a8be628",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "597a5803822bcfc1c70067204389a880efdd9fd1",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils.h",
      "new_id": "55c07a1b0f18d88bc5bb5ca25ccf295994e55d83",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils.h"
    },
    {
      "type": "modify",
      "old_id": "4d0b90a2758c94cb8820b90e597160d22a38da8a",
      "old_mode": 33188,
      "old_path": "buffet/commands/schema_utils_unittest.cc",
      "new_id": "3cd0b5d23fa93ce843bdc06a64479aad6b71c949",
      "new_mode": 33188,
      "new_path": "buffet/commands/schema_utils_unittest.cc"
    }
  ]
}
